Project Development Plan - PichapopRo/project-pantry GitHub Wiki

Personalised Pantry Project Development Plan

Revised: 7 Oct 2024

Statement of Work

This project will produce a web application to help those lacking cooking skills that satisfy the requirements specified in Project Vision and Scope. The application will be written in Python and runnable on Windows, Linux, or MacOS hosts containing the required software.

Development Process

The development will use an Agile process with 6 days for each iteration. Each iteration has the length of a sprint.

Project Documents

Project documents and technical documents are stored in the project wiki on GitHub.

Project documents include:

Tasks and other work for each iteration are recorded in a Github Project attached to the repository. The Github Project contains a Task Board for each iteration.

The GitHub issue tracker is used to record defects and other issues.

Workflow

Each iteration will start on Monday and end on Saturday. On day 7 of each week, there will be a retrospective meeting after the end of each iteration.

  • A goal for the iteration is reaching at least 1 milestone defined and written below.
  • Major work for iteration is defined and recorded in the Iteration Plan.
  • The Iteration plan includes each iteration's goal and will add major work at the beginning of the iteration.
  • Tasks are defined and written in the Project Backlog on GitHub.
  • During work, we will use the project's Discord server to communicate with team members.

Technology and Tools

  • The application is written in Python using Django web framework and Bootstrap for frontend.
  • GitHub workflow is used for workflow management.
  • Use GitHub Wiki for project documents.
  • Github Project for backlog, task planning, and iteration task boards.
  • MURAL is used to record new user stories.
  • Discord is used to communicate with team members.
  • Google Calendar is used to record the schedules of the group.

Timeline

Week Major Work and Features
1 Create Project plan
Design Domain Model
Design UI
2 Integrate data from API
User can see all recipes
User can see all recipe details
User can see all steps
User can log in and sign in
3 Search keyword
Filter for recipe
User can see all steps
User can log in and sign in
4 Add recipe to favourite
create recipe
Multiple value filter
5 Add recipe to the database
Chef badge
Add recipe page
6 Alternative ingredients can be provided
Filter recipe
7 Alternative ingredients can be provided
Filter recipe
Deployed application

Milestone

Iteration Milestone
1 Create starter code
User can login and sign in
User can see recipe detail
User can navigate through all pages
2 All the Iteration 1 tasks are done
Search recipe by using keyword
Filter out recipe they don't want
Sort recipe by their own criteria
3 Search for recipes by using the keyword
Filter out recipes they don't want
Sort recipes by their criteria
The UI resembles the mock-up UI
4 Favourite the recipe
Filter is functional with many values
Create recipe
Add more tests
5 Page for adding new recipe
Attached badge for posting recipes
More test added to the file
6 User can Filter recipe
User can ask for alternative ingredients
Documents are updated
More tests added
7 User can Filter recipe
User can ask for alternative ingredients
Documents are updated
More tests added
Deployed application

Coding Guidelines

Will be implement according to Coding Guideline

Reference