Skip to content

CodeByMohana/Task-Management-App-Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 

Repository files navigation

FlowBoard Frontend

A production-ready Trello-inspired Kanban task management frontend built with Angular 19, connecting to the FlowBoard microservices backend.


πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • Angular CLI 19+
  • Backend API Gateway running on http://localhost:8080

Installation

cd flowboard-frontend
npm install
npm start

App opens at http://localhost:4200


πŸ“ Project Structure

src/app/
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ guards/          # AuthGuard
β”‚   β”œβ”€β”€ interceptors/    # AuthInterceptor (JWT cookies + refresh)
β”‚   β”œβ”€β”€ models/          # TypeScript interfaces (User, Board, Card, etc.)
β”‚   └── services/        # API services (auth, workspace, board, card, comment)
β”œβ”€β”€ features/
β”‚   β”œβ”€β”€ auth/            # Login + Register (lazy-loaded)
β”‚   β”‚   β”œβ”€β”€ login/
β”‚   β”‚   └── register/
β”‚   β”œβ”€β”€ dashboard/       # Homepage with workspace grid
β”‚   β”œβ”€β”€ workspace/       # Workspace detail + board list
β”‚   β”œβ”€β”€ board/           # Kanban board + drag-and-drop
β”‚   β”‚   └── card-detail/ # Card modal (comments, labels, attachments)
β”‚   β”œβ”€β”€ profile/         # User profile & password change
β”‚   └── admin/           # Admin panel (placeholder analytics)
β”œβ”€β”€ shared/
β”‚   └── shell/           # App layout: sidebar + topbar
└── environments/        # Dev / prod API URLs

πŸ”Œ API Endpoints Used

Service Base Path
Auth POST /api/auth/login, POST /api/auth/register, POST /api/auth/logout
Profile GET/PUT /api/auth/profile, PUT /api/auth/change-password
Workspaces GET/POST /api/workspaces, GET /api/workspaces/my
Boards GET/POST /api/boards, GET /api/boards/workspace/:id
Lists POST /api/boards/:id/lists, PATCH /api/boards/:id/lists/:id/reorder
Cards GET/POST /api/cards, PUT /api/cards/:id/move
Comments GET/POST /api/comments/cards/:id/comments

Authentication uses HttpOnly JWT cookies β€” no token handling in localStorage.


✨ Features

  • Auth: Login / Register / Logout / OAuth buttons (Google/GitHub UI)
  • Dashboard: Workspace grid with stats
  • Workspace: Board list with create/delete/close/reopen
  • Kanban Board: Drag-and-drop cards between lists (HTML5 DnD API)
  • Card Detail Modal: Title, description, priority, status, due date, comments (threaded), attachments, cover color
  • Dark Mode: Toggle in sidebar
  • Notifications: UI placeholder (notification service not implemented in backend)
  • Admin Panel: User management table + analytics placeholders

βš™οΈ Environment Config

Dev (src/environments/environment.ts):

apiUrl: 'http://localhost:8080'

Production (src/environments/environment.prod.ts):

apiUrl: 'http://54.206.167.226:8080'

πŸ”§ Build

npm run build          # Development build
npm run build -- --configuration=production  # Production build

πŸ“ Known Placeholders

Feature Status
Notification service ⚠️ Mock data only β€” backend not implemented
Admin analytics ⚠️ Placeholder numbers β€” no analytics API
OAuth (Google/GitHub) βœ… UI links to `/oauth2/authorization/google
Label service βœ… /api/labels/** route exists β€” UI can be extended

πŸ—οΈ Architecture Notes

  • Standalone components with lazy loading for all routes
  • Angular Signals for reactive state management
  • HTTP Interceptor handles withCredentials + auto refresh on 401
  • Optimistic UI: Card drag-and-drop updates UI instantly, rolls back on API error
  • All field names match backend DTOs exactly (cardId, boardId, workspaceId, etc.)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors