How ravindu374/engineerflow works
EngineerFlow is a project and task management platform. Users authenticate in the Next.js app, then use the dashboard and project views to manage projects and task statuses through the FastAPI REST API. The backend separates API routes, services, and repositories; structured records use PostgreSQL, while project activity is logged to MongoDB and project-creation email work is dispatched asynchronously. The README also documents registration, activity monitoring, and task workflows. Some route and frontend wiring is inferred from the documented capabilities and module layout; only sampled source confirms the specific service calls shown.
Main entry points: main.py FastAPI app · api.ts API client · user_repository.py User repository · project_service.py Project management
Components 22
Web application
- Login and register
engineerflow-frontend/app/login/page.tsx - Dashboard
engineerflow-frontend/app/dashboard/page.tsx - Project view
engineerflow-frontend/app/projects/[id]/page.tsx - API client
engineerflow-frontend/lib/api.ts
REST API
- FastAPI app
app/main.py - Auth routes
app/api/v1/auth.py - User routes
app/api/v1/users.py - Project routes
app/api/v1/projects.py - Task routes
app/api/v1/tasks.py
Domain services
- Authentication
app/services/auth_service.py - User management
app/services/user_service.py - Project management
app/services/project_service.py - Task management
app/services/task_service.py
Persistence and jobs
- User repository
app/repositories/user_repository.py - Project repository
app/repositories/project_repository.py - Task repository
app/repositories/task_repository.py - Activity logging
app/services/activity_service.py - PostgreSQL
- MongoDB
- Background tasks
app/workers/tasks.py - Celery app
app/workers/celery_app.py
Other components
- User
Connections 23
- User → Login and register: submits credentials
- User → Dashboard: manages work
- Dashboard → API client: requests data
- Project view → API client: updates tasks
- Login and register → API client: sends credentials
- API client → FastAPI app: REST requests
- FastAPI app → Auth routes: mounts routes
- FastAPI app → User routes: mounts routes
- FastAPI app → Project routes: mounts routes
- FastAPI app → Task routes: mounts routes
- Authentication → User repository: looks up users
- Authentication → User repository: authenticates via
- User management → User repository: manages users
- Task routes → Project repository: checks ownership
- Task routes → Task management: creates or lists
- Project management → Project repository: creates and reads
- Project management → Activity logging: logs activity
- Project management → Background tasks: dispatches email
- User repository → PostgreSQL: reads and writes
- Project repository → PostgreSQL: reads and writes
- Task repository → PostgreSQL: reads and writes
- Activity logging → MongoDB: inserts logs
- Background tasks → Celery app: registered with