Project Planning: Appointment Calendar App


I’d like to make an appointment calendar web app as a way to practice my coding skills. The main features include:

  • Teacher can set appointment blocks as open or closed, using times and dates
  • Teacher can see open appointments, appointment requests, and booked appointments
  • Teacher can accept or reject appointment requests
  • Student can view and request open appointments from “public calendar”
  • Student can view and cancel their booked appointments on “private calendar” (each student will have a private lesson profile page, out of scope for this project)

I’m hoping to get practice using JS Events, Promises, Async/Await. Does this project seem like a good way to practice these? Does REDUX make sense to use here? I’d like to practice React/Redux as well, but am unsure when implementing Redux makes sense. Is this project complex enough?

Thank you!

This project is more than complex enough. Calendars & appointments are notoriously challenging features.

That said, it should be an excellent project to practice React & Redux if you stick with it long enough. I imagine you would have to implement some sort of a backend to serve as reservation system and maybe authentication as well, so it’s a good fullstack project overall.

@Banhawy Could I develop with ‘dummy data’ and add the backend later?

Sure, that’s the best way to start. I usually start with dummy data like arrays & objects containing my mock data on the frontend.

When I feel the react application is mature & stable enough I use a local express server with desired endpoints and I move the mock data from the React application to the Express server, replacing the code in the frontend with api calls to my mock Express server.

Many thanks, sir. I appreciate the guidance.

Bumping this thread as I’m starting to develop this now. I built my portfolio site first, but now am ready to go for this! (Gotta fill up that portfolio).

Was wondering if Next.js may be helpful with an appointment application like this. If so, should I still use Redux? I know they can be used together, but I’m having trouble finding a clear strategy as the when and why these tools should be used. It’d be great to have a relevant way to add experience with both Redux and Next.js to my tool belt, but I don’t want to force it ‘just because’.