Skip to content

Josckar/final-project-Josckar-Render

 
 

Repository files navigation

Nondescript Business with appointments

Overview

You're an up and coming hair salon/tattoo shop/other appointment making business, and you've got lots of time, but you need a way for your customers to set up an appointment. No one likes waiting on the phone anymore, so you choose Nondescript Business with appointments!

Nondescript Business with appointments is the business website that allows users to schedule appointments with our various workers. Users can register and login. Once they're logged in, they can view their scheduled appointments, and appointment-taking employees may log in to view their scheduled appointments.

Data Model

The application will store Customers, Appointments, and Employees.

  • All Users will have a username and hash corresponding to a password, and a list of appointments.
  • Customers will have notes only viewable by employees
  • Employees: Can manage own appointments and availability
  • each appointment will have a generated ID, date, time, associated customer, and associated employee.

An Example Customer:

{
    username: 'BaldingBob',
    hash: '#',
    appointments: {
        type: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Appointment' }],
        default: [],
    },
    notes: 'very rude'
}

An Example Employee:

{
  username: "JohnWorker",
  hash: '#',

  Appointments: 
[
  Appointment {
    id: 1698696243886,
    date: '2023-11-01',
    time: '10:00 AM',
    customer: { name: 'John' },
    employee: { name: 'Alice' },
  },
  Appointment {
    id: 1698696243883,
    date: '2023-11-02',
    time: '10:00 AM',
    customer: { name: 'John' },
    employee: { name: 'Alice' },

  }
]
}

Wireframes

/ - home, show other links

home page

/appointments/own - page for showing all the user's appointments

list

/appointments/schedule - page for scheduling an appointment

list

/login - page for logging in

list

The above images are placeholders until I can get calendly to work.

The website will currently operate on individual calendly accounts, but can be adapted to support teams.

Site map

       Home ('/')
       /  |  \
 /login   Own  Schedule
('/login')('appointments/own')('appointments/schedule')

User Stories or Use Cases

  1. as a registered user, I can log into my account
  2. as a customer, I can schedule an appointment with a worker
  3. as a worker, I can create an appointment with a user, registered or not
  4. as a customer, I can schedule an appointment from the list of available appointments with an employee
  5. as a user, I can view all my scheduled appointments

Remains to be implemented: confirmation between customers and employees, and improvements to the scheduling system. Currently, calendly takes information about availability from the employee's URI.

Research Topics

  • (3 points) Use a CSS framework or UI toolkit, use a reasonable of customization of the framework - Bootstrap
  • (2 points) Use Calendly API for appointment scheduling
  • (3 points) dotenv configuration management

10 points total out of 10 required points

Annotations / References Used

Handlebars layout and app.mjs skeleton based off projects 3 and 4.

About

Final project Render Version

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 69.2%
  • Handlebars 24.0%
  • CSS 6.8%