Skip to content

NileDaley/yogabookings

Repository files navigation

YogaBookings

A mongodb based booking system for a yoga and healing centre, built with Angular, Node.js + Express and Bulma.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. An online version of the booking system can be found on Heroku.

Prerequisites

  • Node.js - Download the latest version and check that it is installed:
node -v
  • Npm or Yarn

Npm is installed by default with node.js, check that it is installed by running

npm -v

Alternatively, the Yarn package manager can be used. Follow the installation instructions and check that it is installed by running

yarn -v

Installing

Download the repository locally via Git

git clone https://github.com/NileDaley/yogabookings.git
cd yogabookings

Install the application's dependencies

npm install 
OR
yarn

Build the client-side application

npm run build 
OR
yarn build

Start the application server

npm run serve
OR
yarn serve

Visit localhost:3000 to view the application in the browser

User Credentials

Customer accounts can be created within the system through the registration page.

A sample tutor account can be accessed by using the following credentials:

email:    tutor@tutor.com
password: tutor

Likewise, an administrator account can be accessed using the credentials:

email:    admin@admin.com
password: admin

Development

Run the application and watch for all changes

npm run dev
OR 
yarn dev

Built With

  • Node.js - Server-side JavaScript runtime environment
  • Express - Server-side JavaScript web framework
  • Angular - Client-side application framework
  • Bulma - CSS Framework

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

  • Mongoose - MongoDB Object modelling tool for JavaScript
  • Bcrypt - Password hashing library
  • JWT - JSON Web Token implementation for Node.js
  • Moment - JavaScript date library
  • Moment-recur - Moment plugin to generate recurring events
  • NgFullcalendar - Angular wrapper of the FullCalendar JavaScript calendar library

Special thanks to Jeremy Thomas and all maintainers of the Bulma CSS framework, for providing such an elegant and easy to write CSS framework.