Skip to content

Milestone Report ‐ Milestone Summaries

Arda Saygan edited this page May 17, 2025 · 6 revisions

Project Milestone Summary

Milestone 1 (April 25, 2025)

Main Goal

Present the requirements and initial design of the application to the customer. Demonstrate a basic version of the application with partial feature implementation to gather early feedback.

Sub-goals

  • Complete requirements and design related documentation
  • Learn the basics of backend, frontend and mobile development
  • Set up the skeleton of the implementation

Deliverables

  • Requirements Specification Document
  • Scenarios
  • Use Case Diagrams
  • Class Diagrams
  • Sequence Diagrams
Achievements
  • Developed a comprehensive glossary of project-specific terms and definitions.
  • Documented detailed functional and non-functional requirements for the system.
  • Created a complete Software Requirements Specification (SRS) document.
  • Formulated and conducted elicitation questions to understand stakeholder needs.
  • Designed comprehensive use case diagrams illustrating system interactions.
  • Researched and selected appropriate communication platforms for team collaboration.
  • Established a contribution guide detailing coding standards and workflow processes.
  • Designed a class diagram representing the system's architecture and relationships.
  • Created visual mockups of the user interface for key application screens.
  • Developed detailed scenarios describing typical user interactions with the system.
  • Created and populated a database with nutritional information for 500 common food items.
  • Designed and implemented initial frontend page layouts and components.
  • Set up the basic mobile application environment and development workflow.
  • Implemented a testing structure for frontend components and functionality.
  • Created and documented mock APIs for development and testing purposes.
  • Completed the MySQL database migration for persistent data storage.
  • Established the base structure for the backend API architecture.
  • Implemented core login and signup functionality in the backend.
  • Researched containerization methods and deployment strategies using Docker.

Milestone 1.5 (May 11, 2025)

Main Goal

Speed up implementations and retain momentum lost due to unexpected events. Implement the selected subset of requirements planned for Milestone 2.

Sub-goals

  • Determine and implement backend endpoints required for milestone requirements
  • Start integration of endpoints to frontend and mobile
  • Research deployment of website and mobile APK release
Achievements
  • Bootstrapped the backend forum application with essential structure and core functionality.
  • Implemented common API endpoints and established connections with the frontend application.
  • Added a comprehensive nutrition scoring system to the database for food item evaluation.
  • Developed backend support for tagging posts with relevant categories and keywords.
  • Created an administrative panel for system management and content moderation.
  • Implemented backend pagination to improve performance when displaying large data sets.

Milestone 2 (May 14, 2025)

Main Goal

Final stage of the project for the semester. Implement selected requirements and present a populated, functional demo to demonstrate system capabilities.

Sub-goals

  • Implement any missing endpoints and integrate with frontend and mobile
  • Deploy the application and release mobile APK
  • Populate the database with real-world data

Deliverables

  • Final Milestone Report
  • Project Repository (including Issues, Wiki, and implementation)
  • Live Demo with Sample Data
Achievements
  • Implemented user authentication requirements ensuring users must log in to access protected features.
  • Refactored the entire codebase to improve structure, enhance reusability, and maintain consistency.
  • Successfully integrated all backend endpoints with both frontend and mobile applications.
  • Populated the food database with comprehensive and accurate nutritional information.
  • Created a Dockerfile for containerized deployment to simplify installation and scaling.
  • Developed recipe models in the backend and integrated recipe functionality with the frontend.
  • Generated and tested a deployable APK package for the mobile application.
  • Established consistent styling guidelines and implementation across web frontend and mobile interfaces.
  • Ensured functional consistency and feature parity between web and mobile platforms.

Requirements to be Implemented

1.1. Food Database
  • 1.1.1 The system shall include a list of at least 500 common food items with nutritional details, including protein, fat, and caloric content.
  • 1.1.3 The system shall calculate and display a nutrition score (scale of 0.00-10.00) for each food item based on:
    • Protein content (30% of score)
    • Carbohydrate quality (30% of score, favoring complex carbs over simple sugars)
    • Nutrient balance (40% of score, representing the overall balance of macro and micronutrients)
  • 1.1.4 (If possible, a subset) The system shall support the following dietary options:
    • a) Low-fat
    • b) High-protein
    • c) Vegetarian
    • d) Vegan
    • e) Celiac-friendly
    • f) Gluten-free
    • g) Lactose-free
1.4. Forum & Nutrition Tips
  • 1.4.1 Posts shall have tags, and the post owners shall be able to edit those tags.
  • 1.4.2 Users shall be able to write free-text forum posts.
  • 1.4.3 Nutrition tips shall be provided to guide users on healthy eating habits.
  • 1.4.4 Users shall be able to browse forum posts.
  • 1.4.5 Users shall be able to filter posts by tags and sort them by rating.
  • 1.4.6 Users shall be able to interact with forum posts by:
    • a) Liking posts
    • b) Commenting on posts
    • c) Sharing posts via a link
    • d) Unliking liked posts
  • 1.4.7 Posts can have tags that could be used for filtering:
    • a) Dietary tip
    • b) Recipe
    • c) Meal plan
1.7. Account Management
  • 1.7.1 Users shall be able to sign up by giving their email address, choosing a unique username and a secure password.
  • 1.7.2 Users shall be able to log in using their username and password.
  • 1.7.3 Users shall be able to log out of their account.
Clone this wiki locally