Udagram is a simple Instagram-like serverless cloud application developed along side the Udacity Cloud Engineering Nanodegree. It allows users to register and log into a web client, post photos to the feed.
The project is split into three parts:
- The Simple Frontend A basic Ionic client web application which consumes the Backend API.
- The Backend API, a serverless service which can be deployed to AWS.
tip: this frontend is designed to work with The Backend API. It is recommended you stand up the backend first, test using Postman, and then the frontend should integrate.
This project depends on Nodejs and Node Package Manager (NPM). Before continuing, you must download and install Node (NPM is included) from https://nodejs.com/en/download.
The Ionic Command Line Interface is required to serve and build the frontend. Instructions for installing the CLI can be found in the Ionic Framework Docs.
This project uses NPM to manage software dependencies. NPM Relies on the package.json file located in the root of this repository. After cloning, open your terminal and run:
npm install
tip: npm i is shorthand for npm install
Ionic uses enviornment files located in ./src/enviornments/enviornment.*.ts
to load configuration variables at runtime. By default environment.ts
is used for development and enviornment.prod.ts
is used for produciton. The apiHost
variable should be set to your backend API url.
Ionic CLI provides an easy to use development server to run and autoreload the frontend. This allows you to make quick changes and see them in real time in your browser. To run the development server, open terminal and run:
ionic serve
Ionic CLI can build the frontend into static HTML/CSS/JavaScript files. These files can be uploaded to a host to be consumed by users on the web. Build artifacts are located in ./www
. To build from source, open terminal and run:
ionic build
- Register
- Login
- Post an image to the newsfeed
- Listing the posts
- Edit post
- Remove post
- Add/Edit/Delete comments
- Like/Unlike posts
- Search users
- Follow/Unfollow users
- Add UI improvements