Financial Alerts API
Project Overview
Financial Alerts is a Django-based REST API system for managing financial alerts, transactions, and spending thresholds. The application enables users to track their expenses and receive alerts when budget limits are approached or exceeded, providing a backend foundation for personal finance monitoring.
The API-first design means it can serve as the backend for mobile apps, web dashboards, or automated notification systems.
API Endpoints
- Alert Endpoint (
/api/alert): GET and POST support for managing financial alerts. Tracks user ID, threshold references, and custom alert messages. - Transaction Endpoint (
/api/transaction): Full CRUD for financial transactions including user, date, category, description, amount, and transaction type (income/expense). - Threshold Endpoint (
/api/threshold): Define and manage spending thresholds with user-specific names, slugs, amounts, and threshold types for flexible budget monitoring.
Key Features
- Budget Monitoring: Automatic comparison of spending against user-defined thresholds to trigger alerts
- Transaction Categorization: Organize expenses by category and type for clear spending visibility
- Flexible Thresholds: Multiple threshold types allow for different alert strategies (daily, weekly, monthly, per-category)
- RESTful Design: Clean API endpoints following REST conventions for easy integration with any frontend
- Test Suite: Built-in test coverage for budget app functionality
Technical Architecture
The project is built on Django with a straightforward but production-ready architecture:
- Framework: Django handles ORM, migrations, admin interface, and request routing. The REST endpoints use standard Django views with JSON serialization.
- Database: SQLite for development with a clear migration path to PostgreSQL for production. Django's ORM abstracts the database layer, making the transition seamless.
- Dependency Management: Both Pipfile (Pipenv) and requirements.txt are provided for flexible environment setup.
AWS Deployment Architecture
The project includes a comprehensive AWS deployment guide covering the full production stack:
- Database: Amazon RDS with PostgreSQL for managed, reliable data storage
- Containerization: Docker containers for consistent deployment across environments
- Orchestration: Amazon ECS with ECR for container management and scaling
- Security: IAM roles and policies following the principle of least privilege
- Load Balancing: Application load balancer for traffic distribution and health checks
- DNS & SSL: Route 53 and ACM for custom domain configuration with HTTPS
- Performance: Optional Redis caching layer and CloudFront CDN for optimized response times
Future Enhancements
The roadmap includes dedicated models for transaction types and categories, pagination and search across endpoints, advanced threshold operators for more complex alert logic, and expanded test coverage.
Back to Home