项目作者: m2vang

项目描述 :
Mai Beauty Booking App
高级语言: JavaScript
项目地址: git://github.com/m2vang/maiBeautyBookingApp.git
创建时间: 2018-09-17T14:17:46Z
项目社区:https://github.com/m2vang/maiBeautyBookingApp

开源协议:

下载


Mai Beauty Booking App (MBBA)

Mai Beauty Booking App (MBBA) is a full-stack web based application that is for single small beauty business owners that will help reduce the amount of time it takes to schedule appointments. For instance, most business owners still take appointments via the client having to call or walk in. This whole process can take a long time. MBBA allows the client to book thier appointments on a calendar based off of the business owners’s availability schedule.

**This application uses React to control the login requests and redirection in coordination with client-side routing.

Calendar SnapShot

Built With:

Node

Express

ReactJS

Redux

Redux Saga

PostgreSQL

Postico

Material UI

CSS

Passport

Moment.js

React Big Calendar

Sweet Alerts

Prerequisites

Before you get started, make sure you have the following software installed on your computer:

Create database and table

Create a new database called beauty_salon and create the following tables:

  1. <-- This table is use to store all of the different users, including the admin (business owner) -->
  2. CREATE TABLE "user" (
  3. id SERIAL PRIMARY KEY,
  4. first_name VARCHAR(1020) NOT NULL,
  5. last_name VARCHAR(1020) NOT NULL,
  6. telephone NUMERIC(15,0) NOT NULL,
  7. email VARCHAR(3020) NOT NULL,
  8. password VARCHAR(200) NOT NULL,
  9. if_stylist BOOLEAN NOT NULL DEFAULT 'false'
  10. );
  11. <-- This table is use to store the different categories that each service falls into -->
  12. CREATE TABLE "category_types" (
  13. id SERIAL PRIMARY KEY,
  14. category VARCHAR(1020) NOT NULL
  15. );
  16. <-- This table is use to store the different service types that are offered -->
  17. CREATE TABLE "service_types" (
  18. id SERIAL PRIMARY KEY,
  19. service_name VARCHAR(1020) NOT NULL,
  20. duration double precison NOT NULL,
  21. category_types_id INT REFERENCES "category_types"
  22. );
  23. <-- This table is use to store all the notes for each specific user -->
  24. CREATE TABLE "notes" (
  25. id SERIAL PRIMARY Key,
  26. date TIMESTAMP,
  27. notes VARCHAR(5000),
  28. user_id INT REFERENCES "user"
  29. );
  30. <-- This table is use to store all the data that will go into the calendar component -->
  31. CREATE TABLE "calendar" (
  32. id SERIAL PRIMARY KEY,
  33. user_id INT REFERENCES "user",
  34. service_types_id INT REFERENCES "service_types",
  35. "start" TIMESTAMP WITH TIME ZONE NULL,
  36. "end" TIMESTAMP WITH TIME ZONE NOT NULL,
  37. cancel_status BOOLEAN NOT NULL DEFAULT 'false',
  38. cancel_date TIMESTAMP WITHOUT TIMEZONE
  39. );

If you would like to name your database something else, you will need to change beauty_salon to the name of your new database name in server/modules/pool.js

Completed Features

High level list of items completed:

  • Created a dropdown/select for each service when a client books an appointment and having the duration display beneath
  • Admin can add and delete client notes that will only be store for that specific client
  • React-Big-Calendar

Next Steps:

  • Implementing a data visualization for types of services to see which service is the most popular to least popular
  • Ability to search for clients based on their name
  • Clients can upload an image of themselves
  • Calendar not only displays appointment type but also the name of the client who booked the appointment
  • Implement the full “Drag and Drop” calendar feature
  • Clients can only make an appointment if the selected time matches the service duration
  • Ability to edit a client’s appointment from the admin’s side

Authors:

Mai Chee Vang

Acknowledgments:

Prime Digital Academy