Full stack learning project

TaskFlow AI

A full-stack learning project exploring authentication, authorization, AI integration, real-time communication, and modern web development practices.

app.taskflow.local/dashboard
Sprint tasks
Design auth middleware
Wire Socket.IO rooms per project
Add Redis cache for /api/tasks
Write Mongoose schema for Notes
AI suggestion

Redis caching task blocks 2 others — recommend prioritizing next.

Engineering & Architecture

How the backend and frontend are actually put together — the parts worth pointing to in a code review.

Authentication & Security

backend/src/controllers/authControllers.ts

  • JWT access & refresh token flow
  • Role-based access control (RBAC)

Real-time Communication

backend/src/socket/

  • Socket.IO rooms and events
  • Live messaging & instant notifications

AI Integration

backend/src/services/geminiService.ts

  • AI-generated task summaries
  • AI priority suggestions

Performance & Caching

backend/src/config/connectRedis.ts

  • Redis caching for frequently accessed data
  • Cache invalidation strategies

Database Design

backend/src/models/

  • MongoDB document modeling
  • Mongoose schemas, indexing and validation

Frontend Architecture

frontend/app/

  • Next.js App Router architecture
  • React Query server state management

Unit Testing

backend/__tests__/ && frontend/__tests__/

  • Component and function testing with vitest
  • Business logic validation

API Testing

backend/__tests__/

  • REST API endpoint testing with supertest
  • Authentication and database flow testing

End-to-End Testing

e2e/tests/

  • Browser automation with Playwright
  • Complete user workflow testing

Containerization & Docker

Dockerfile · compose.yaml

  • Multi-stage Docker builds for production
  • Docker Compose for frontend and backend

AWS Cloud Infrastructure

AWS ECS · ECR · Application Load Balancer

  • Containerized deployment with ECS Fargate
  • ALB routing and external managed services

CI/CD & Automated Deployment

.github/workflows/ci-cd.yaml

  • GitHub Actions for automated testing
  • Build and push images to ECR, then deploy to ECS

Cloud Security & Secrets

AWS IAM · OIDC · Secrets Manager

  • GitHub Actions authentication through AWS OIDC
  • Secure configuration using managed secrets

Application Workflow

How a user moves through TaskFlow AI, and how a request travels through the stack.

  1. 01

    Sign in

    Users authenticate once, and every later request is verified on the server.

    • Credentials are validated and tokens are issued as HTTP-only cookies
    • Expired access tokens are renewed with the refresh token
    • Role checks run on every protected route for Admin, Manager and Employee
  2. 02

    Manage work

    The dashboard shows the tasks each role is allowed to see and change.

    • Create and assign tasks with priority and status
    • Update tasks within role and ownership rules
    • Gemini generates summaries and suggests priorities on demand
  3. 03

    Collaborate live

    Socket.IO pushes events to connected users, so nobody has to refresh.

    • Task updates and notifications arrive instantly
    • Team chat with presence and read receipts
  4. 04

    Persist and cache

    Every write ends up in MongoDB; Redis speeds up repeated reads.

    • MongoDB is the source of truth
    • Redis caches frequently read data, and writes invalidate affected entries

Application features

Core functionality implemented in the application, from task management to AI and real-time collaboration.

Task management

Create tasks, set priority, and track them through Pending, In Progress, and Completed.

Notes management

Create and organize notes so important information stays easy to find.

Task assignment

Managers and Admins assign work to specific users and coordinate responsibilities.

User management

Admins create and manage user accounts and their roles.

Real-time team chat

Message teammates instantly over Socket.IO, with presence and read receipts.

Instant notifications

Get notified the moment a task is assigned or updated, without refreshing.

AI summaries & priorities

Gemini condenses task content into short summaries and suggests a priority level.

Role-based access control

Admin, Manager, and Employee roles decide which actions each user can perform, enforced on the server.

Ownership-aware updates

Employees update only the tasks assigned to them; managers and admins have wider control.

Technology stack

The technologies used to build, test, secure, and deploy TaskFlow AI.

Frontend

  • Next.jsApp Router & rendering
  • ReactComponent-based UI
  • TypeScriptStatic type checking
  • Tailwind CSSUtility-first styling
  • TanStack QueryServer state & caching

Backend & API

  • Node.jsJavaScript runtime
  • Express.jsREST API
  • Socket.IOReal-time events & chat
  • Swagger / OpenAPIAPI documentation
  • Gemini AITask summaries & priorities

Data & Caching

  • MongoDB AtlasManaged document database
  • MongooseSchemas & data modeling
  • Redis CloudCaching & fast data access

Testing

  • VitestUnit testing
  • React Testing LibraryComponent testing
  • SupertestHTTP API testing
  • PlaywrightEnd-to-end testing

Auth & Validation

  • JWTAccess & refresh tokens
  • bcryptjsPassword hashing
  • express-rate-limitRequest rate limiting
  • ZodSchema validation

DevOps & Cloud

  • DockerMulti-stage container builds
  • Docker ComposeLocal multi-service setup
  • GitHub ActionsCI/CD automation
  • AWS ECRContainer image registry
  • AWS ECS FargateManaged container deployment
  • AWS ALBHTTP routing to services
  • AWS IAM / OIDCDeployment authentication
  • AWS Secrets ManagerSensitive configuration

Engineering journey

Built to explore real-world full-stack engineering

TaskFlow AI is a full-stack task management and team collaboration project built to apply software engineering concepts beyond tutorials. From authentication and real-time features to automated testing, containerization, and AWS deployment, each layer provided hands-on experience with building and operating a complete application.

  • JWT authentication & session management
  • REST API architecture with Express
  • Request validation with Zod
  • MongoDB data modeling with Mongoose
  • Role-based access control (RBAC)
  • Real-time communication with Socket.IO
  • Redis caching & invalidation
  • Unit, API & E2E testing
  • API documentation with Swagger
  • Gemini AI integration
  • Docker & multi-stage builds
  • GitHub Actions CI/CD pipelines
  • AWS ECS, ECR & load balancing
  • IAM, OIDC & secrets management