A FastAPI-based backend service for managing user accounts and financial transactions.
- User Authentication
- Account Management
- CORS Support
- Request Logging
- Secure API Endpoints
- FastAPI (Python web framework)
- MongoDB (Database)
- Pydantic (Data validation)
- JWT Authentication
- Email Validation
.
├── app/
│ ├── api/ # API routes and endpoints
│ ├── core/ # Core application settings
│ ├── models/ # Database models
│ ├── schemas/ # Pydantic schemas
│ ├── services/ # Business logic
│ ├── database.py # Database configuration
│ └── main.py # Application entry point
├── requirements.txt # Project dependencies
└── .gitignore # Git ignore file
- Clone the repository
- Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
To run the application in development mode:
uvicorn app.main:app --reloadThe API will be available at http://localhost:8000
Once the application is running, you can access:
- Swagger UI documentation at:
http://localhost:8000/docs - ReDoc documentation at:
http://localhost:8000/redoc
The application requires certain environment variables to be set. Create a .env file in the root directory with the following variables:
MONGODB_URL: MongoDB connection stringSECRET_KEY: Secret key for JWT token generationEMAIL_USERNAME: Your email account usernameEMAIL_PASSWORD: Your app-specific passwordEMAIL_HOST: SMTP server hostEMAIL_PORT: SMTP server port