Appointment Booking using AngularJS, NodeJS, MongoDB

In this tutorial, we will create a simple, real and single page Appointment Booking web application using Javascript Fullstack or MEAN Stack (MongoDB + Express + AngualrJS + NodeJS) which can also be used as an Event Scheduler.

  • The Javascript fullstack will have both Client and Server architecture and will share the same JSON (Javascript Simple Object Notation) format across Client, Server and Database.
  • The code will be fast, modular and less redundant.
  • We will integrate Google Material Design guidelines into our code for a better UI experience.
  • We will use document based no-sql database named MongoDB

Live Demo Download

Installation

Install Required Softwares

* NodeJS (http://nodejs.org) *

'NodeJS is a non blocking, event-driven javascript framework for building network based applications. This comes with Node Package Manager. (npm)'

Install NodeJS and run node

* MongoDB (http://mongodb.org)*

"MongoDB is a Javascript based cross-platform document-oriented NoSQL database."

Install MongoDB and run mongod in a separate shell to keep an instance of the MongoDB Daemon running

Start the application

Open Command Prompt / Terminal and Run the following commands

npm install : Installs all required server dependencies.
bower install: Installs front-end packages required for our application.
node server: Starts the application on port 8080 (http://localhost:8080)

Open your web browser and point to http://localhost:8080

Code

client/index.html

The starting point for our application front end.

client/app.js

It starts the angular module and links the required external dependencies.

client/customer.html

Appointment details with customer information.

client/main.css

All css files for main.html.

client/main.html

Application’s front end.

client/main.js

It implements required logics.

server/index.js

It creates the appointments ReST API routes.

server/api/appointment/index.js

The appointments ReST API routes are defined here.

server/api/appointment/model.js

Defines the appointments database model.

package.json

It carries node dependencies which are required for this application.