Skip to content

This repository contains my project for the Coursera's Full Stack Web Development Specialization.

Notifications You must be signed in to change notification settings

mohllal/coursera-confusion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Confusion

Confusion is a single-page AngularJS/Node.js web application for an indian-based restaurant called confusion that aims to show restaurant's aviable dishes and make users able to favorite and comment them. The application is built on the MEAN Stack of technologies and using RESTful web services architecture.

The application was built using Node.js runtime. It used MongoDB as the underlying database system. It uses Express framework and Mongoose ODM toolkit. And in the front-end side, it uses AngularJS to make it SPA and Bootstrap framework.

This is my project for the Coursera's Full Stack Web Development Specialization created by Hong Kong University of Science and Technology.

Features:

  • Single page application (SPA).
  • HTTPS secure communication.
  • User registration system.
  • Authentication using JSON Web Token (JWT).
  • CRUD dishes operations for users with an admin privilege.
  • CRUD leaders operations for users with an admin privilege.
  • CRUD promotions operations for users with an admin privilege.
  • Review (rate and comment) to restaurant's dishes.
  • JSON API endpoints for all dishes, reviews, promotions, leaders, and favorites.
  • Elegant and responsive UI.

Prerequisites:

You have to install the following to be able to run and test the application:

Usage:

  1. Clone this repository to your desktop, go to its root directory and run:
    npm install
  2. Go to the public folder and run:
    bower install
  3. Create a new folder with the name data anywhere in your machine and run:
    mongod --dbpath=data
    use conFusion
  4. Run the application and go to localhost:3443 to see the application running.
    npm start
  5. If you want to populate the database with some dummy data go to the db folder.

Technologies Used:

  • Node.js: Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.
  • AngularJS: AngularJS is a JavaScript-based open-source front-end web application framework.
  • Express: Fast, unopinionated, minimalist web framework for Node.js.
  • MongoDB: MongoDB is a free and open-source cross-platform document-oriented database program.
  • Mongoose ODM: Mongoose provides a straight-forward, schema-based solution to model data.
  • Passport: Passport is authentication middleware for Node.js. Extremely flexible and modular, Passport can be unobtrusively dropped in to any Express-based web application.
  • jsonwebtoken: An implementation of JSON Web Tokens.
  • Bootstrap 3: Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.

License:

This software is licensed under the Modified BSD License.

About

This repository contains my project for the Coursera's Full Stack Web Development Specialization.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published