This device is not compatible.


Design and Implement an Appointment Scheduling API

Learn to develop a FastAPI using Masonite ORM to manage time zones and appointment scheduling systems.

Design and Implement an Appointment Scheduling API

You will learn to:

Apply the fundamentals of FastAPI, including routing, dependency injection, and response models.

Apply the fundamentals of schema definition language and resolver functions.

Use Masonite ORM to interact with databases, including creating tables, querying data, and performing CRUD operations.

Manage time zones using FastAPI.


Web Frameworks

API Development



Intermediate understanding of FastAPI

Basic understanding of Masonite ORM

Basic understanding of Pydantic



fastapi logo



Masonite ORM

Project Description

This project aims to create a cloud-based web service using FastAPI and Masonite ORM with SQLite as the database management system. It will allow users to manage their leaves, meetings, and participants in the discussions. The API will be displayed using Swagger. The API will permit scheduling meetings between participants from different geographic locations and time zones on the globe.

This API will be a reliable, scalable, and secure solution. We will learn to create FastAPI using Masonite ORM and Pydantic. Masonite ORM is an exceptional object-relational mapper (ORM) that simplifies data modeling and query management. Pydantic is a robust data validation and serialization library with several essential features.

This API will allow us to manage the users and their meetings. Users can be from different cities with different time zones, so this API will also handle the time zones. Whenever a user requests their meeting schedule, they will get it in their time zone even though it was added by a user from a different time zone.

Project Tasks


Manage the Database Using Masonite ORM

Task 0: Getting Started

Task 1: Create Models

Task 2: Create Migration Files

Task 3: Add Fields for the User Model

Task 4: Add Fields for the Meeting Model

Task 5: Add Fields for the Leave Model

Task 6: Add Fields for the Participant Model

Task 7: Make the Migration

Task 8: Add Relations in the Meeting Model

Task 9: Add Relations in the User Model

Task 10: Add a Schema for User Information

Task 11: Add a Schema for Participant Information

Task 12: Add a Schema for Leave Information

Task 13: Add a Schema for Meeting Information


Create and Manage the Endpoints

Task 14: Add Methods to Manage Time zones

Task 15: Create Endpoints for the User Model

Task 16: Create Endpoints for the Availability Model

Task 17: Create Endpoints for the Participants Model

Task 18: Create Endpoints for the Meeting Model