Skip to content
GBHU753 edited this page May 19, 2024 · 3 revisions

Plan

Introduction

This document is a plan for the project. It will outline the steps that will be taken to complete the project. The plan will be divided into several sections, each covering a different aspect of the project.

Project Overview

The project is a web application that allows ASPA execs to manage their club's events. The application will have two main components: a frontend and a backend.

The figma design for the project can be found here

Important Dates

  • Project Start Date: Semester 1 Week 4
  • Milestone 1: Semester 1 Week 9/10
  • Milestone 2: Semester 2 Week 4
  • Final Project Showcase: Semester 2 Week 8
  • Project Celebration: Semester 2 Week 10/11

Project Timeline

Semester 1 Week 4 (March 29th) - Semester 1 Week 8 (April 26th): Plan Phase
Semester 1 Week 9 (April 27th) - Start of Mid-Semester Break (April 21st): Development Stage 1
Start of Mid-Semester Break (April 22nd) - Semester 1 Week 3 (August 2nd): Development Stage 2
Semester 2 Week 4 (August 3rd) - Semester 2 Week 8 (August 30th): Deployment and Documentation

Project Phases

The project will be divided into several phases, each with its own set of high level tasks. The timeline for the project can be found below:

  1. Phase 1: Plan
    • Design system architecture
    • Create project plan
    • Set up development environment
    • Create project repository
    • Create project documentation
    • Create frontend design
      • Figma design
    • Create backend design
      • Design database schema
      • Create API specification

Summary of Phase 1: Plan phase is completed.

  1. Phase 2: Development Stage 1
    • Start frontend development
      • Create NextJS project
      • Implement some user interface components
    • Implement entire backend
      • Create Express project
      • Implement all API endpoints
      • Prisma schema
      • OpenAPI specification
      • OpenAPI swagger UI integration
      • Continuous integration of OpenAPI client
    • Implement database
      • Set up PostgreSQL database
      • Create database schema
      • Seed database with test data

Summary of Phase 2: Development Stage 1 is in progress. This phase expects the entire backend to be implemented and the frontend to be mature but not complete. A majourity of the backend team will be moving to the frontend team to help with the frontend development at the conclusion of this phase.

  1. Phase 3: Development Stage 2

    • Finish frontend development
      • Finish implementing user interface components
      • Integrate frontend with backend
    • Integration testing
      • Test API endpoints with client and jest
      • Implement end-to-end testing
      • Implement unit testing
      • Implement integration testing
      • Implement Continuous Integration of all tests
    • User acceptance testing
      • Test application with ASPA execs
      • Gather feedback

Summary of Phase 3: Development Stage 2 is in progress. This phase expects the entire frontend to be implemented along with integration with the backend to be complete.

  1. Phase 4: Deployment and Documentation
    • Continuous deployment
      • Set up continuous deployment pipeline
      • Deploy application to production
    • Finalize all implementation
      • Clean up code
      • Fix any bugs
      • Optimize performance
    • Finalize project documentation
      • Update project documentation with final changes
      • Create user manual
      • Create developer documentation
    • Prepare for project showcase
      • Create presentation
      • Prepare for demo

Summary of Phase 4: Deployment and Documentation phase is in progress. This phase expects the application to be deployed to production and the final project documentation to be completed.

Clone this wiki locally