-
Notifications
You must be signed in to change notification settings - Fork 0
MVP and Final Milestone Plan
Amin Abu-Hilga edited this page Apr 18, 2026
·
8 revisions
Responsible:
- Muhammet Sami Çakmak
- Amin Abu Hilga
Tasks:
- Implement registration page with form validation
- Implement login page and protected route structure
- Implement logout functionality and JWT storage in localStorage
- Create profile view and profile editing interfaces (own profile)
- Implement mentor page view for mentees with interests, goals, and background fields (discovering profile)
- Build mentor discovery interface with mentor card components
- Implement mentee candidate list for mentors
- Develop mentorship request interface (send request button and request form)
- Create incoming mentorship requests interface for mentors
- Implement active mentorship list page
- Implement mentor dashboard for managing mentoring preferences
- Build availability calendar UI for mentors
Responsible:
- Övgü Su Afşar
- Burak Öğüt
Tasks:
- Implement mobile registration screen with form validation
- Integrate registration API with React Native frontend
- Implement login screen with secure token storage
- Create profile screen with editing capabilities
- Implement avatar upload with ImagePicker
- Build mentor discovery screen using FlatList
- Implement mentorship request sending functionality
- Create incoming mentorship request screen with accept/reject actions
- Implement active mentorship list screen
- Build mentor availability editing screen
Responsible:
- Mehmet Bora Sarıoğlu
- İbrahim Kayan
- Beratcan Doğan
Tasks:
- Implement authentication service (registration and login)
- Implement JWT token generation and verification
- Implement user role structure (Mentor / Mentee)
- Create profile CRUD endpoints (GET/PUT /api/profiles/{id})
- Implement mentor matching API (/api/matching/mentors)
- Implement mentee suggestion API (/api/matching/mentees)
- Implement mentorship request creation endpoint
- Implement mentorship acceptance and rejection logic
- Implement mentorship relationship state management (PENDING, ACTIVE, REJECTED)
- Implement mentor availability storage and retrieval endpoints
- Implement notification triggering infrastructure
Responsible:
- Beratcan Doğan
- Amin Abu-Hilga
Tasks:
- Create Spring Boot backend project scaffolding
- Configure PostgreSQL database schema
- Implement Docker containers for backend and database
- Configure Docker Compose for local development environment
- Implement CI/CD pipeline with GitHub Actions
- Configure environment variable management (.env)
- Integrate Swagger/OpenAPI documentation
- Implement database migrations with Flyway or Liquibase
- Configure logging system (SLF4J + Logback)
- Prepare development and staging deployment environments
- Working user registration and login system
- Web and mobile profile management interfaces
- Basic mentor and mentee matching system
- Mentorship request and acceptance workflow
- Mentor availability management
- Active mentorship relationship listing
- Docker-based deployment environment
- Functional CI/CD pipeline with GitHub Actions
- API documentation via Swagger
Responsible:
- Muhammet Sami Çakmak
- Amin Abu Hilga
Tasks:
Mentorship Lifecycle
- Build active mentorship detail page as hub linking to all mentorship sub-features
- Implement shared goal definition modal after mentor acceptance
- Implement end mentorship and extend mentorship duration UI for mentors
- Implement mentorship cancellation UI with confirmation dialog and ban feedback for mentees
- Implement mentor rating modal after mentorship ends (1–5 stars + optional comment)
Messaging
- Create conversation list and chat UI components
- Implement file upload and link preview in chat
- Build mentor-to-mentor messaging UI entry point on mentor public profiles
Meetings & Scheduling
- Build calendar interface for visualizing availability and confirmed meetings
- Implement meeting creation, confirmation, and rescheduling UI
Tasks, Milestones & Progress
- Create task assignment, submission, and tracking interfaces
- Build progress dashboard and mentorship statistics charts
- Implement milestones UI — create, view, update, and complete milestone stages within a mentorship
- Implement reminder notification preference toggles in profile settings
Recommendation & Discovery
- Add advanced recommendation filters and mentor comparison interface
- Update Explore page to display recommendation explanation cards, "Diverse Pick" badges, and distance labels
- Add distance filter slider to Explore page
Blog & Content
- Build blog feed page with paginated posts, likes, and comments
- Build blog post detail page with full content, like toggle, and comment submission
- Build blog creation and editing interface for mentors
- Display published blog posts tab on mentor public profile page
Profiles
- Add location field (city) to profile edit form and display it on public profiles and mentor cards
Notifications
- Implement full notifications page with pagination and mark-as-read
- Add new notification type cards: REQUEST_SUBMITTED, TASK_DEADLINE_REMINDER, MILESTONE_REMINDER with correct icons and click navigation
Admin & Moderation
- Build admin panel — users table with ban/unban actions and reports table with status management
- Create mentor reporting interface for mentees (report modal on mentor public profile)
Responsible:
- Övgü Su Afşar
- Burak Öğüt
Tasks:
Messaging
- Connect conversation list and chat screens to real messaging API
- Implement file attachment sending and preview in chat
- Build mentor-to-mentor conversation entry point from mentor public profile screen
Meetings & Scheduling
- Connect meetings screen to real meetings API
- Implement meeting creation form and confirmation flow
- Implement mentee rescheduling request flow
- Integrate meeting reminder push notifications
Tasks & Milestones
- Connect task tracker screen to real task API
- Implement task submission flow for mentees (text and file upload)
- Implement mentor feedback and task review interface
- Build milestones screen — create, view, and update milestone stages within a mentorship
- Implement reminder notification handling for task deadlines and upcoming milestones
Mentorship Lifecycle
- Implement mentorship cancellation flow for mentees with confirmation and ban feedback
- Implement end mentorship and extend duration actions for mentors
- Implement post-mentorship mentor rating screen (1–5 stars + optional comment)
- Implement shared goal definition prompt after mentor acceptance
Recommendation & Discovery
- Display recommendation explanation labels on mentor cards in explore screen
- Add "Diverse Pick" badge to out-of-goal recommendations
- Add distance display on mentor cards and distance filter in explore screen
Blog & Content
- Build blog feed screen with paginated posts, like toggle, and comment count
- Build blog post detail screen with full content, like button, and comment list
- Build blog creation and editing screen for mentors
- Display mentor's published blog posts on their public profile screen
Profiles
- Add location field (city) to profile editing screen
- Display location on public mentor profile screen and mentor cards
Notifications
- Integrate FCM push notifications for all notification types
- Add new notification type handling: REQUEST_SUBMITTED, TASK_DEADLINE_REMINDER, MILESTONE_REMINDER with correct icons and tap navigation
- Implement reminder notification opt-in preference in profile settings screen
Admin & Moderation
- Implement report mentor flow from mentor public profile screen
Responsible:
- Mehmet Bora Sarıoğlu
- İbrahim Kayan
- Beratcan Doğan
Tasks:
- Implement meeting scheduling service and reminder scheduler
- Implement advanced score-based matching algorithm
- Implement performance optimizations and query improvements
Messaging
- Implement WebSocket messaging system (STOMP) with message persistence and paginated chat history endpoints
- Extend messaging to allow mentor-to-mentor conversations without active mentorship requirement
Meetings
- Implement meeting scheduling entities and CRUD endpoints
- Implement conflict detection and scheduled meeting reminder job
Tasks & Milestones
- Implement task management APIs — assign, submit, review, and feedback lifecycle
- Implement milestone entity and CRUD endpoints with progress calculation
- Implement task deadline and milestone reminder scheduled notifications with per-user opt-in preference
Mentorship Lifecycle
- Implement mentorship end, extend, and cancel endpoints with correct state transitions and notifications
- Implement automatic termination scheduler for expired mentorships
- Implement cancellation reason tracking and archiving of related data on termination
- Implement automatic temporary ban logic with escalating durations for repeated cancellations
- Implement post-mentorship mentor rating endpoint
Admin & Moderation
- Implement ADMIN role, admin-only authorization, and seed admin account
- Implement user reporting system — report submission, admin review queue, and status management
Recommendation System
- Implement location fields on user profile and proximity scoring in recommendation algorithm
- Implement advanced multi-factor recommendation algorithm with diversity logic and per-recommendation explanation
Blog & Content
- Implement blog post, comment, and like entities with full CRUD endpoints and mentor profile integration
Notifications & Analytics
- Implement push notification infrastructure via FCM
- Implement analytics aggregation endpoints for mentor and mentee dashboard stats
Bug Fixes
- Fix race condition in mentor capacity check during request acceptance
- Fix NullPointerException risk when JWT token lacks userId/role claims
- Fix inconsistent timezone handling across timestamp-sensitive services
- Fix match-found notification triggered on every mentor browse
- Fix missing per-resource authorization check on availability GET endpoint
Quality & Performance
- Overhaul search with database-level filtering, indexing, and N+1 query fixes
- Implement rate limiting middleware for public and authenticated endpoints
- Build end-to-end integration test suite for cross-feature workflows
Responsible:
- Beratcan Doğan
- Amin Abu-Hilga
Tasks:
- Deploy production environment in cloud infrastructure
- Configure Nginx reverse proxy and SSL certificates
- Implement monitoring stack (Prometheus + Grafana)
- Configure centralized logging with ELK stack
- Implement automated database backup strategy
- Configure load balancing for WebSocket connections
- Implement rate limiting and API protection
- Perform load testing and performance optimization
- Ensure GDPR / KVKK compliance in data handling
- Real-time mentor-mentee and mentor-to-mentor messaging with WebSocket and file attachment support across web and mobile
- Meeting scheduling with automated reminders and calendar view
- Task assignment, submission, review, and feedback lifecycle connected to real API on web and mobile
- Milestone tracking with progress visualization and automated reminders
- Mentorship lifecycle management — extend, end, cancel, auto-terminate, ban, and rate
- Advanced recommendation algorithm with location proximity, diversity logic, and explanation cards surfaced on web and mobile
- Blog system with creation, feed, likes, and comments integrated into mentor profiles on web and mobile
- Mentor reporting interface for mentees on web and mobile
- Full notification center with all notification types and FCM push delivery on web and mobile
- Production deployment with monitoring, logging, load testing, and compliance
Team Members
- Lab 1 Report (12/02/2026)
- Lab 2 Report (19/02/2026)
- Lab 3 Report (26/02/2026)
- Lab 4 Report (05/03/2026)
- Lab 5 Report (12/03/2026)
- Lab 6 Report (26/03/2026)
- Lab 7 Report (02/04/2026)
- Lab 8 Report (18/04/2026)
- Lab 9 Report (30/04/2026)
- Lab 10 Report (07/05/2026)
- Weekly Meeting Notes Template
- Lab Meeting 1 (12.02.2026)
- Weekly Meeting 1 (16.02.2026)
- Weekly Meeting 2 (24.02.2026)
- Weekly Meeting 3 (04.03.2026)
- Weekly Meeting 4 (11.03.2026)
- Weekly Meeting 5 (23.03.2026)
- Weekly Meeting 6 (29.03.2026)
- Weekly Meeting 7 (11.04.2026)
- Weekly Meeting 8 (28.04.2026)
- Weekly Meeting 9 (10.05.2026)
- Use Case Diagram 1 (New Mentor User for Mobile Scenario)
- Use Case Diagram 2 (Mentor-Mentee Matching Scenario)
- Use Case Diagram 3 (New Mentee User Scenario)
- Final Use Case Diagram
- MVP Use Case Diagram
- All Sequence Diagrams
- Sequence Diagram: Mentee Matching
- Sequence Diagram: Mentor Matching
- Sequence Diagram: Mentorship Management
- Sequence Diagram: Registration
- Sequence Diagram: Cancelling Mentorship Relationship and Auto Ban
- Sequence Diagram: Login-Logout
- Sequence Diagram: Reporting-User
- Sequence Diagram: Mentor Profile Management
- MVP Sequence Diagrams
- Test Plan & Coverage (MVP)
- Acceptance Testing Strategy
- Acceptance Tests
- Test Data Strategy
- Web Frontend Test Report
- Amin Abu-Hilga
- Övgü Su Afşar
- Muhammet Sami Çakmak
- Beratcan Doğan
- İbrahim Kayan
- Burak Ögüt
- Mehmet Bora Sarıoğlu
- Future Work (reference, not a deliverable)