This repository documents my journey of acquiring proficiency in FastAPI through the development of a RESTful API project. The primary objective is to gain hands-on experience with the key features of FastAPI while building a practical and scalable API that includes the following capabilities:
- 🔄 CRUD operations
- 🗄️ Database integration
- 🔐 Authentication
- ☁️ Cloud integration
- 🧪 API testing with pytest
- Fully functional RESTful API with CRUD operations
- JWT-based authentication for secure access
- Database models with SQL & NON SQL integration
- Cloud deployment support (AWS, Azure and GCP)
- Test-driven development using pytest
- OpenAPI & Swagger Docs for easy interaction
Before you begin, ensure you have the following installed:
- Python 3.10+
pip
(Python package manager)- A database (e.g., PostgreSQL, MySQL, or SQLite)
- Virtual environment (recommended)
-
Clone the repository:
git clone https://github.com/dsrathore1/Learning-FastAPI.git
-
Navigate to the project directory:
git checkout Project-{version}
-
Install the dependencies:
pip install -r requirements.txt
-
Run the FastAPI application:
fastapi dev app/main.py
-
Visit the API documentation at
http://127.0.0.1:8000/docs
to interact with the API.
Contributions are welcomed. You may submit issues or pull requests to enhance the project. Feedback is greatly appreciated.
This project is open-source and available under the terms of the MIT License.