Project Plan - OmegaOoh/ku-tangtee GitHub Wiki

KU TangTee Project Plan

Author: Teerapat Trepopsakulsin

Revised: 7 Oct 2024

Statement of Work

The project will produce a web application for gathering people for events or activities that satisfy the requirements as specified in Requirements. The application will be written in Python and JavaScript, using Django and Vue.js frameworks, and runnable on Windows, Linux, or MacOS hosts containing the required software.

Development Process

The development will use an iterative and incremental process. Each iteration has a length of one week starting on Monday and ending on Sunday.

Workflow

  • At the start of each iteration, the Vision, Project Plan, and Requirements are reviewed and updated.
  • A goal for the iteration and at least 1 milestone are defined and written in the Iteration Plan.
  • Major work for the iteration is defined and recorded in the Iteration Plan.
  • The application design is reviewed and revised (if needed) for new features to be added.
  • The Iteration Plan, including the goal, milestone(s), and major work, is added to the wiki.
  • Tasks are defined and written in the Project Backlog on Github.
  • A Github Task Board for this iteration is created to track work in this iteration.
  • Github Flow is used to manage code.
  • Defects and other issues are recorded in a Github Issue Tracker.
  • Weekly meeting every Monday and Wednesday afternoon via Discord group chat or actual meetup.

Technology and Tools

  • The application is written in Python using the Django web framework.
  • The application uses Vue.js as a front-end framework.
  • The application uses MySQL as the database.
  • Github Wiki for project documents (Information hub).
  • Github Project for backlog, task planning, and iteration task boards.
  • PyCharm and Visual Studio Code IDE for coding and running tests.
  • Discord group chat for communication between developers.

Timeline

Week Major Work and Features
1 Write Project Inception.
Initialize Django project.
Create UI mockup.
Identify coding guidelines.
Implement activity hosting.
Create an interface for visitors to find the activity.
2 User activity creation.
Google OAuth Authentication System.
Create an interface for users to chat with other activity participants.
Real-time chat for each activity.
3 Implement the penalty system.
4 Ensure the application is runnable on different operating systems.
Create and test installation instructions.
Review, document, and cleanup all code.

Milestones

Iteration Milestone
1 Activities can be created and shown with the number of joined users.
Project Inception is complete.
2 Activities should show its own specific time and location.
Users can authenticate using Google OAuth.
Users should be able to find, join, and leave activity.
Users are required to authenticate in order to create or join activities.
Users can create an activity.
Users can chat with other activity participants.
3 Users should get a penalty if they don't show up on an activity.
4 The application runs on platforms meeting the software requirements.

Code quality maintenance

  • Strictly following guidelines as stated in Coding Guidelines.
  • Maintain code coverage above 80%.
  • All exceptions should be caught and correctly handled.
  • Code is well-documented.

Risk management

  • Unsatisfactory features: During meetings, review and discuss requirements and specifications, and reach out to potential stakeholders or users frequently to ensure that the features remain within scope.
  • Code quality risk: Follow code quality maintenance.
  • Data loss: Implement a backup database.