BugSpot FastAPI is a robust backend API built with FastAPI, designed to power a comprehensive bug tracking and management system. This project enables users to create, read, update, and delete various entities such as bugs, comments, events, and user profiles, while also providing features like notification management and media storage. The API is structured to support scalability, security, and ease of use, making it suitable for development teams and projects of all sizes.
The API provides a wide range of functionalities, including user authentication, blog management, comment management, event management, and notification management. It leverages MongoDB for data storage, Cloudinary for media storage, and FastAPI for building a high-performance API.
- User Management: Create, read, update, and delete user profiles
- Blog Management: Create, read, update, and delete blog posts
- Comment Management: Post, retrieve, and delete comments on blog posts
- Event Management: Create, read, and retrieve event details
- Notification Management: Send and retrieve notifications for users
- Cloudinary Integration: Store and retrieve media files using Cloudinary
- MongoDB Integration: Store and retrieve data using MongoDB
graph TD;
src-->app;
app-->models;
app-->router;
app-->services;
app-->utils;
app-->dependencies;
app-->main.py;
models-->blog.py;
models-->comment.py;
models-->event.py;
models-->notification.py;
models-->user.py;
router-->blog.py;
router-->comment.py;
router-->events.py;
router-->notification.py;
router-->org.py;
router-->user.py;
services-->cloudinary.py;
services-->notification.py;
utils-->indexes.py;
- Clone the repository:
git clone https://github.com/abhraneeldhar7/bugspot-fastapi.git - Create a virtual environment:
python -m venv venv - Activate the virtual environment:
source venv/bin/activate(on Linux/Mac) orvenv\Scripts\activate(on Windows) - Install dependencies:
pip install -r requirements.txt - Run the application:
uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4
The repository uses GitHub Actions for continuous integration and deployment. The workflow is defined in the .github/workflows/main.yml file and includes the following steps:
- Checkout code
- Login to Docker Hub
- Build and push Docker image
- Deploy to Railway or Vercel
graph TD;
A[Checkout code] --> B[Login to Docker Hub];
B --> C[Build and push Docker image];
C --> D[Deploy to Railway or Vercel];
Full stack developer with expertise in web, Android, and server-side development. Most projects are private due to being production code.