Project Development Plan - AvengerDisassemble/KU-connect GitHub Wiki

🧭 KU Connect Project Plan

Authors: Phantawat Lueangsiriwattana, Sunthorn Kompita, Kristawan Jaroenrad, Nichapat Sirinantanakul, Katharina Viik

Revised: 17 Aug 2025

πŸ“˜ 1. Statement of Work

KU Connect is a specialized job platform connecting Kasetsart University’s SKE/CPE students with verified employers and will run on Windows, Linux, or macOS environments.

The system is built using:

  • Backend: Node.js (Express.js) + Prisma
  • Frontend: React + TypeScript + Vite
  • Database: PostgreSQL (production), SQLite (dev/test)
  • Auth: JWT + Google OAuth

Supported user roles:

  • πŸŽ“ Students
  • 🏒 Employers
  • πŸ›‘οΈ Admins
  • πŸ“Š Professors

The goal is to deliver a secure, reliable, and scalable job-matching system with clear role-based workflows.

πŸ—“οΈ Development Timeline

Period Major Work & Deliverables
Aug 7–24, 2025 Project Foundation & Planningβ€’ Stakeholder meetings and requirement gatheringβ€’ Define system architecture and technology stackβ€’ Set up development environment and Git workflowβ€’ Conduct risk assessment and assign team roles
Aug 25–Sep 7, 2025 Core System Foundationβ€’ Database schema design and initial migration setupβ€’ UI/UX wireframes and prototyping in Figmaβ€’ Security framework setup and environment configuration
Sep 8–Oct 19, 2025 Feature Development & Integrationβ€’ Student module implementation (Weeks 6–7)β€’ Employer module implementation (Weeks 8–9)β€’ Admin and Professor dashboards (Week 10)β€’ Integration between frontend and backend APIs
Oct 20–Nov 10, 2025 Finalization & Handover Phaseβ€’ Submit final project documentation packageβ€’ Customer review and revision feedback roundβ€’ Create presentation materials and summary reportsβ€’ Preparation of final documentation and deliverables for customer review
Nov 11–Nov 20, 2025 Testing, Deployment & Documentationβ€’ Full system integration and automated testingβ€’ User acceptance testing with KU stakeholdersβ€’ Production deployment and performance optimizationβ€’ Official handover and closure meeting with stakeholders

πŸš€ Milestones

Week Key Milestones
Week 2 βœ… Stakeholder meetings completed and requirements finalized.βœ… System architecture designed and tech stack selected.βœ… Team roles and project plan confirmed.
Week 5 βœ… Core backend and frontend structure implemented.βœ… Database schema and security framework operational.βœ… UI/UX prototypes approved.
Week 6 βœ… Student profile creation & editing functional.βœ… Employer registration and verification active.βœ… Company profile management implemented.
Week 7 βœ… Employer job posting interface completed.βœ… Job management dashboard functional.βœ… Job display page available for students.
Week 8 βœ… Student job application and browsing system ready.βœ… Search and filtering features completed.βœ… Saved opportunities (bookmark) feature added.
Week 9 βœ… Authentication system integrated (students & employers).βœ… Employer notifications active.βœ… Candidate review page for employers completed.
Week 10 βœ… Admin verification dashboard ready.βœ… Admin moderation tools for posts and users working.βœ… Professor analytics dashboard implemented.βœ… System monitoring and logging setup.
Week 12 βœ… Full system testing completed.βœ… User acceptance testing with KU stakeholders.βœ… Deployment finalized.βœ… User guides and technical documentation delivered.βœ… Platform officially launched.

🧩 Architecture & Technology Overview

Tech Stack

  • Backend: Node.js (Express.js)
  • Frontend: React 19 + TypeScript + Vite
  • Database: PostgreSQL (prod), SQLite (dev/test)
  • ORM: Prisma
  • Auth: JWT + Google OAuth (HttpOnly encrypted cookies)
  • Architecture Pattern: Layered modular monolith
  • Storage: Local filesystem (development), S3 planned

Architecture Principles

  • πŸ”’ Security-first design (bcrypt, RBAC, validation, rate limiting)
  • 🧱 Clear separation of concerns
  • 🧩 Modular feature structure
  • πŸ“¦ Stateless backend API
  • πŸ› οΈ Strong typing using TypeScript

🧩 Code Quality & Maintenance

  • Follow team Coding Guidelines strictly.
  • Maintain >80% test coverage across backend and frontend.
  • Implement proper error handling for all user-facing and system operations.
  • Keep code self-documented with consistent naming and structure.

πŸ”„ Development Process

Agile Methodology

Each iteration included:

  • Planning and user stories
  • Backend + frontend implementation
  • Integration testing
  • Documentation updates in Wiki
  • Iteration review + retrospective

Documented in:

  • Iteration 1–7 Plans
  • Iteration 1–6 Meetings

Git Workflow

  • main β†’ stable
  • dev β†’ iteration integration
  • feature/* β†’ feature branches

Pull Request requirements:

  • Clear title & description
  • Completed checklist
  • Reviewer approval
  • Tests passing

πŸ§ͺ Testing & Quality Strategy

Testing

  • Unit tests β†’ service logic
  • Integration tests β†’ API endpoints via SQLite
  • Manual testing β†’ all role flows
  • Regression testing β†’ pre-release
  • User Acceptance Testing (UAT) β†’ KU stakeholders

Definition of Done

A feature is DONE when:

  • Code implemented
  • Tests written & passing
  • No critical bugs
  • Wiki documentation updated
  • Demoed in iteration review

⚠️ Risk Management

Key Risks

Risk Potential Impact
Development or deployment delays Extended timeline, missed deadlines
KU OAuth integration issues Login or verification delays
Changing stakeholder requirements Rework and timeline extension
Team unavailability or miscommunication Task dependencies delayed
Security vulnerabilities or data breaches Loss of trust, system downtime

Mitigation Strategies

  • Weekly progress meetings for early issue detection.
  • Code reviews and automated testing pipelines.
  • Maintain clear documentation and backups.
  • Use agile sprints with built-in buffer time.
  • Regular stakeholder check-ins for alignment.

Contingency Plans

  • Re-prioritize features if deadlines tighten.
  • Redistribute tasks among developers.
  • Perform emergency security patching and audits if needed.

πŸ‘₯ Roles & Responsibilities

Team Member Role Responsibilities
Phantawat Lueangsiriwattana Backend Developer Core API development, database integration
Kristawan Jaroenrad Backend Developer & DevOps Database management, CI/CD pipeline setup, authentication system
Sunthorn Kompita Frontend Developer UI implementation, responsive design, user interaction flows
Nichapat Sirinantanakul Frontend Developer Component design, styling, accessibility, testing and bug fixes
Katharina Viik Backend Developer API development, documentation

πŸ“¦ Final Deliverables

  • Live KU Connect deployment
  • Backend + frontend repositories
  • Unit + integration test suites
  • Complete documentation (Wiki):
    • Project Vision & Scope
    • Requirements & Use Cases
    • ER Diagram & Domain Diagram
    • Software Architecture Document
    • API Endpoints
    • Coding / PR / Commit Guidelines
    • Iteration Plans & Meeting Notes
    • Test Plan + Test Results
  • Final presentation slides
  • Demo materials

βœ… Summary

KU Connect delivers a secure, role-based, and user-friendly hiring platform that connects Kasetsart University’s SKE/CPE students with verified employers through streamlined job posting, application, and review workflows. Built with a modern Node.js + Express + Prisma + React + Vite + PostgreSQL architecture, the system ensures scalability, maintainability, and strong security using JWT authentication, RBAC, and validated data models.

The project was developed over a structured 12-week timeline, following Agile iterations with clearly defined milestones, documentation, testing standards, and risk mitigation practices. The final release includes all core features for students, employers, admins, and professors, supported by comprehensive documentation and a fully deployed platform ready for real-world use.