A comprehensive task management API built with modern technologies and following clean architecture principles for scalability, maintainability, and performance.
Our application follows a modern cloud-native microservices architecture designed for enterprise scalability and production deployment:
- Azure DevOps - CI/CD pipelines with automated testing and deployment
- ECR (Elastic Container Registry) - Docker image storage and versioning
- AWS KMS - Secrets encryption and key management for all services
- API Gateway - Rate limiting, request validation, and traffic management
- VPC Subnet - Isolated network environment for enhanced security
- Express.js API - Main application server with TypeScript and robust middleware
- PostgreSQL RDS - Managed database with automated backups and scaling
- Winston Logging - Centralized logging with S3 backup synchronization
- Task Queue System - Asynchronous job processing and background tasks
- AWS Lambda - Serverless report generation and data processing
- Python AI (Gemini) - AI-powered insights, summaries, and analytics
- S3 Storage - File storage for reports, images, and document management
- Google Calendar API - Task synchronization and calendar management
- AWS SES - Transactional emails, OTP delivery, and notifications
- Swagger UI - Interactive API documentation and testing interface
Our application uses a comprehensive PostgreSQL schema designed for scalability and modern authentication:
erDiagram
USERS {
string id PK
string name
string email "unique"
string password
string role
string profile_picture_url
boolean google_connected
timestamp createdAt
timestamp updatedAt
}
AUTH_TOKENS {
string id PK
string userId FK
text access_token
text refresh_token
string provider
timestamp expiresAt
timestamp createdAt
}
TASKS {
string id PK
string userId FK
string title
text description
string status
timestamp startTime
timestamp endTime
string calendar_event_id
timestamp createdAt
timestamp updatedAt
}
OTP_CODES {
string id PK
string userId FK
string code
string type
timestamp expiresAt
timestamp createdAt
}
REPORTS {
string id PK
string userId FK
string title
string s3_url
text ai_summary
string status
timestamp createdAt
}
%% Relationships
USERS ||--o{ AUTH_TOKENS : "has"
USERS ||--o{ TASKS : "creates"
USERS ||--o{ OTP_CODES : "receives"
USERS ||--o{ REPORTS : "generates"
- UUID Primary Keys for better scalability and security
- Comprehensive User Management with role-based access control
- OAuth Integration support for multiple providers
- Task Management with calendar synchronization
- Security Features including OTP verification and 2FA
- Report System with AI-powered summaries
- Proper Relationships with cascade delete for data integrity
- Robust Error Handling - Custom ErrorHandler class with factory methods
- Type-Safe Validation - Zod schemas with automatic validation
- Enhanced AsyncHandler - Zero-boilerplate async route handling
- Database Schema - Complete 5-table PostgreSQL schema with Drizzle ORM
- Authentication Foundation - User registration with validation
- Logging System - Winston logger with file rotation and console formatting
- Code Quality - ESLint, Prettier, Husky pre-commit hooks
- JWT Authentication - Token-based authentication system
- OAuth Integration - Google OAuth support
- Task Management - CRUD operations for tasks
- OTP System - Email verification and 2FA
- Report Generation - AI-powered report summaries
- API Documentation - Swagger/OpenAPI integration
- Calendar Integration - Google Calendar sync
- File Upload - S3 integration for reports
- Email Service - Transactional email system
- Rate Limiting - API rate limiting and throttling
- Caching - Redis caching layer
- Testing Suite - Comprehensive unit and integration tests
- Shubhojit Mitra - System Architecture
- Khushi Malik - Backend Developer
- Utkarsh Kapoor - Backend & Database
- Priyanshi Varshney - API Documentation & Testing
- Nancy Gumanta - Testing & Quality Assurance
Current Version: 1.0.0 (Development)
Last Updated: October 2025
License: MIT License
This project is actively under development. Setup guides, API documentation, and deployment instructions will be added once core features are completed.
