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.