Skip to content

Rush Hour is appointment scheduling software. It can be used in various areas, i.e., medical services, beauty and wellness, sport, etc. It supports business accounts for providers of service, and individual ones - for the clients who can make appointments.

Notifications You must be signed in to change notification settings

NMItools/RushHour

Repository files navigation

RushHour - The Appointment Platform

Overview

Rush Hour is appointment scheduling software. It can be used in various areas, i.e., medical services, beauty and wellness, sport, etc. It supports business accounts for providers of service, and individual ones - for the clients who can make appointments.

Specification

Rush Hour is a RESTful API with a layered architecture, using a relational database for its persistence layer. The required layers are:

  • data access,
  • business,
  • presentation but could not be limited to these layers only. All the business logic should be tested with unit tests, and optionally - integration tests.

Entities

[Provider]

Represents the service provider that is subscribed to Rush Hour. Consists of:

  • Name
  • Website
  • Business domain
  • Phone
  • Start time of the working day
  • End time of the working day
  • Working days

[Account]

Represents the account of all users who can access the system (provider’s employees and clients). Consists of:

  • Email
  • Full name
  • Password
  • Role

[Employee]

Represents an employee in a service provider company. Consists of:

  • Title
  • Phone
  • Rate per hour
  • Provider
  • Account

[Client]

Represents a client of the service provider. One client can have multiple appointments for multiple service providers. Consists of:

  • Phone
  • Address
  • Account

[Role]

Represents the account’s role. Consists of:

  • Name
  • Account

3 roles are supported in RushHour: Provider Administrator, Employee and Client

[Activity]

Represents an activity that can be part of an appointment. Consists of:

  • Name
  • Price
  • Duration
  • Provider
  • Employees

[Appointment]

Represents an appointment. Consists of:

  • Start date
  • End date
  • Employee
  • Client
  • Activities
  • Price

Application Skeleton

  • N-layered architecture (data access, business, presentation layers, and tests).
  • documentation tool (Swagger/Open API)
  • logging tool

[Accounts Management]

  • create, read, update and delete options on all accounts.
  • log in the system and access the resources based on their roles.
  • jwt token authentication.
  • The provider/administrator create a provider, then create accounts for employees.

[CRUD functionality]

  • providers,
  • employees,
  • clients,
  • activities
  • appointments.

[Reporting Engine]

Reports for provider administrator:

  • Productivity report
  • Availability report
  • Income per month/quarter/year

Reports for employees:

  • Availability report (day/week)
  • Most/Least booked time of the day/week
  • Top 10 clients who spent the most money/time per month/quarter/year

Reports for clients:

  • Top 3 favorite providers for the last month/quarter/year
  • Top 5 favorite activities for the last month/quarter/year
  • Expenses report (week/month/quarter/year) ○ Per provider ○ Per business domain ○ Per activity

[Integrations]

  • Google Calendar
  • Microsoft Calendar

About

Rush Hour is appointment scheduling software. It can be used in various areas, i.e., medical services, beauty and wellness, sport, etc. It supports business accounts for providers of service, and individual ones - for the clients who can make appointments.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published