Skip to content

Project Management

Story Map

Story Map


Project Plan

https://github.com/UAlberta-CMPUT401/W26project-KAYANOU/issues

Sprint Planning

Sprint 1

Due Date: February 1, 2025

Tasks

Task Related US Assigned To Due Date
Project Requirements Documentation Karan, Sarah, Jimi, Nancy Feb 1
Software Design Documentation Ifan, Zach, Karan, Nancy, Riya Feb 1
Project Management Documentation Sarah, Jimi Feb 1
Teamwork Documentation Completed collaboratively by the entire team Feb 1

Sprint 2

Due Date: February 15, 2025

User Stories

User Story Story Points
US 4.02 As a user, I want to view all the events in a list organized by location, date, and time, so that I can plan my participation. 3
US 4.03 As a user, I want to view detailed information about the events, so that I know when and where it is and the intended audience. 3
US 4.04 As a user, I want to filter events by date, time, location, and intended audience, so that I can choose events based on my interests. 5
US 4.06 As a user, I want to sign up an account for the website, so that I can login with my email and password. 2
US 6.02 As a user, I want to request ASL or interpreter services, so that I can attend events without worrying about a language barrier. 2
US 6.03 As a user, I want to view or request childcare support, so that I am not withheld by my responsibilities. 2
US 7.01 As an authorized staff member, I want to log in securely to the admin dashboard, so that I can manage website content. 2
As a developer, I want Dockerized dev and prod environments, so that setup and deployment are consistent across machines. 5
As a team, I want CI checks and automated staging/production deployment, so that code quality and releases are reliable. 5
As a platform owner, I want HTTPS and API rate limiting, so that the system is secure and resilient. 5
Estimated Sprint Velocity: 34

Tasks

Task Related US Assigned To Due Date
Create Dockerfiles for frontend and backend (dev + prod stages) DevOps Karan Brar Feb 4
Create docker-compose.yml for local development (services + networking) DevOps Karan Brar Feb 4
Enable hot reload for local dev (bind mounts + dev commands) DevOps Karan Brar Feb 5
Add production Docker configuration (no bind mounts, optimized commands) DevOps Karan Brar Feb 5
Design database tables for events + admin edits US 4.02 Karan Brar Feb 3
Install and configure NGINX as reverse proxy (frontend + backend) DevOps Karan Brar Feb 6
Configure HTTPS with Let’s Encrypt (Certbot) DevOps Karan Brar Feb 6
Add NGINX rate limiting for API endpoints DevOps Karan Brar Feb 6
Set up GitHub self-hosted runner on server (service + auto-restart) DevOps Karan Brar Feb 6
Configure CI workflows (lint, typecheck, build for FE + BE) DevOps Karan Brar Feb 6
Configure staging deployment (dev → staging) DevOps Karan Brar Feb 6
Configure production deployment (main → prod) DevOps Karan Brar Feb 6
Create backend endpoint(list + sort by location/date/time) US 4.02 Riya Salian Feb 3
Build Events List page UI (list grouped by location/date/time) US 4.02 Riya Salian Feb 4
Connect Events List UI US 4.02 Riya Salian Feb 4
Build Event Details page UI US 4.03 Jimi Lin Feb 6
Connect Event Details UI US 4.03 Jimi Lin Feb 7
Create database tables for accessibility requests (ASL/interpreter) US 6.02 Nancy lin Feb 9
Create ASL/interpreter request form UI US 6.02 Nancy Lin Feb 9
Create database tables for childcare requests US 6.03 Nancy lin Feb 10
Implement admin authentication backend (login session/JWT + roles) US 7.01 Karan Brar Feb 12
Build admin login page UI + route guard US 7.01 Ifan Feb 12
Build admin signup page UI + route guard US 7.01 Zach Feb 12

Sprint 3

Due: Mar 8

User Stories

User Story Story Points
US 1.01 As a user, I want to be able to access the website both on desktop and mobile, so that I can use it on any device. 3
US 1.02 As a user, I want to view the website in both English & French, so that I can access the information in either language. 3
US 3.01 As a user, I want to view a list of authors participating in my desired city (Edmonton or Calgary), so that I can discover diverse literary voices. 3
US 3.02 As a user, I want to see an author's biography, photo, and published works in their profiles, so that I can learn about their background and work. 3
US 3.03 As a user, I want to filter authors by location, genre, language, or region entered by authors, so that I can easily access the work I'm looking for. 3
US 3.04 As a user, I want to view a list of books and works with title, description, and author, so that I can learn about the featured works. 3
US 7.02 As KAYANOU staff, I want a no-code content management interface, so that I can update content without technical knowledge. 3
US 7.03 As an administrator, I want to add events to the schedule, so that users can view them. 3
US 7.04 As an administrator, I want to delete events from the schedule, so that users do not attend events that have been canceled. 3
US 7.05 As an administrator, I want to have a warning message before deleting, editing, or adding an event from the schedule, so that there are fewer clerical errors. 3
US 7.06 As an administrator, I want to edit events from the schedule, so that users get the most recent information concerning an event. 3
US 7.07 As an administrator, I want to edit both French and English schedules, so that information in both languages is accurate and updated. 3

Estimated Sprint Velocity: 36


Tasks

Task Related US Assigned To Due Date
Build responsive layout checklist for key pages (desktop, tablet, mobile) US 1.01 Sarah Muir Feb 18
Update navigation and page spacing for mobile usability US 1.01 Jimi Lin Feb 20
Run cross-device UI regression fixes for core flows US 1.01 Nancy Lin Feb 22
Set up EN/FR content structure for frontend pages US 1.02 Karan Brar Feb 19
Add translated strings for auth, events, and author pages US 1.02 Riya Salian Feb 23
Validate language switch behavior and persistence US 1.02 Ifeanyi Uwakwe Feb 24
Add/verify author city data model and seed data for Edmonton/Calgary US 3.01 Zachary Oldford Feb 20
Create backend endpoint for author list by city US 3.01 Karan Brar Feb 22
Build Authors List page grouped by city US 3.01 Nancy Lin Feb 24
Create backend endpoint for single author profile (bio, photo, works) US 3.02 Ifeanyi Uwakwe Feb 23
Build Author Profile details page UI US 3.02 Sarah Muir Feb 25
Connect author list cards to author detail view US 3.02 Jimi Lin Feb 26
Implement backend filtering for authors (city, genre, language, region) US 3.03 Karan Brar Feb 25
Add author filter controls to UI US 3.03 Riya Salian Feb 27
Persist and restore author filter state US 3.03 Nancy Lin Feb 28
Define books/works schema and author relationship updates US 3.04 Zachary Oldford Feb 24
Create backend endpoint to list books/works with author info US 3.04 Ifeanyi Uwakwe Feb 26
Build books/works listing page and details navigation US 3.04 Sarah Muir Feb 28
Implement admin CMS shell with navigation sections US 7.02 Jimi Lin Feb 27
Add content validation and save feedback for CMS forms US 7.02 Nancy Lin Mar 1
Implement admin API endpoint to add events with validation US 7.03 Karan Brar Feb 27
Build admin Add Event form in dashboard US 7.03 Zachary Oldford Mar 1
Implement admin API endpoint to delete events safely US 7.04 Ifeanyi Uwakwe Mar 1
Add delete action in admin UI and refresh event list US 7.04 Sarah Muir Mar 2
Create reusable warning modal for add/edit/delete actions US 7.05 Jimi Lin Mar 2
Integrate warning modal into event create/edit/delete flows US 7.05 Riya Salian Mar 3
Implement admin API endpoint to edit event details US 7.06 Karan Brar Mar 3
Build admin Edit Event form with prefilled data US 7.06 Zachary Oldford Mar 4
Add EN/FR fields and validation rules to event admin forms US 7.07 Ifeanyi Uwakwe Mar 4
Add language toggle in admin schedule editor US 7.07 Nancy Lin Mar 5
Run QA pass for EN/FR schedule parity across admin and user views US 7.07 Sarah Muir Mar 6

Sprint 4

Due: Mar 22

User Stories

User Story Story Points
US 1.03 As a user, I want to jump to the KAYANOU website, so that I can see what other events they host or services they offer. 4
US 4.01 As a user, I want to register for the book fair, so that I can participate. 5
US 6.04 As a user, I want the website to be compliant with WCAG 2.1 standards, so that it is accessible to users with disabilities. 4
US 7.08 As an administrator, I want to edit both Edmonton and Calgary schedules, so that information in both locations is accurate and updated. 3
US 7.09 As an administrator, I want to archive past events, so that outdated content does not confuse users. 3
US 7.10 As an administrator, I want to add new author profiles, so that the directory is up to date. 3
US 7.12 As an administrator, I want to edit existing author profiles, so that information is accurate and updated. 3
US 7.13 As an administrator, I want to add new admin profiles, so that the Book Fair team information is up to date. 3
US 7.15 As an administrator, I want to edit existing admin profiles, so that information is accurate and updated. 3

Estimated Sprint Velocity: 31


Tasks

Task Related US Assigned To Due Date
Add KAYANOU website link to UI with visible title (not raw URL) linking to KAYANOU US 1.03 Sarah Muir Mar 14
Create database schema and backend endpoint for book fair registration with validation US 4.01 Riya Salian Mar 12
Build registration form UI and display when user selects register option US 4.01 Riya Salian Mar 14
Add registration CTA on user page and success confirmation message after submit US 4.01 Riya Salian Mar 16
Audit key pages for contrast and text size per WCAG 2.1 US 6.04 Sarah Muir Mar 10
Fix contrast and text size to meet WCAG 2.1 standards US 6.04 Sarah Muir Mar 14
Ensure user input fields are well labeled (labels and ARIA where needed) US 6.04 Sarah Muir Mar 16
Add city/location to event model and admin event edit flow (Edmonton vs Calgary) US 7.08 Riya Salian Mar 12
Ensure admin event edit validates required fields and persists by city; verify isolation in UI and DB US 7.08 Riya Salian Mar 14
Add archived status to event model and migration US 7.09 Ifeanyi Uwakwe Mar 10
Implement admin API to mark events archived/unarchived US 7.09 Ifeanyi Uwakwe Mar 12
Exclude archived events from public list and search/filter endpoints US 7.09 Ifeanyi Uwakwe Mar 14
Add archive/unarchive actions and "Archived" labels in admin dashboard US 7.09 Ifeanyi Uwakwe Mar 16
Implement admin API to add author with required-field validation US 7.10 Zachary Oldford Mar 12
Build Add Author form in admin with required fields and validation US 7.10 Zachary Oldford Mar 14
Restrict add-author to admin only; verify new authors in UI and database US 7.10 Zachary Oldford Mar 16
Implement admin API to update author with validation (no blank required fields) US 7.12 Zachary Oldford Mar 14
Build Edit Author form with prefilled data and validation US 7.12 Zachary Oldford Mar 18
Implement admin API to add admin profile with required-field validation US 7.13 Nancy Lin Mar 14
Build Add Admin Profile form in admin and restrict to admins US 7.13 Nancy Lin Mar 18
Verify new admin profile appears in UI and database US 7.13 Nancy Lin Mar 20
Implement admin API to update admin profile with validation (no blank required fields) US 7.15 Jimi Lin Mar 18
Build Edit Admin Profile form with prefilled data and admin-only access US 7.15 Jimi Lin Mar 20
Verify admin profile edits visible to users and required fields enforced US 7.15 Jimi Lin Mar 22
Dev-Ops & Project Mangement tasks US-D Karan Brar Mar 22

Sprint 5

Due: 31 Mar

User Stories

User Story Story Points
US 6.01 As a user, I want to increase the contrast of the website's visual elements, so that I can see the information better. 4
US 7.11 As an administrator, I want to upload profile images for authors and book covers, so that the profiles are visually engaging. 3
US 7.16 As an administrator, I want to review accessibility requests from the site inbox, so that accommodations can be planned as needed. 4
US 7.17 As an administrator, I want SILAB content to be linked to the main KAYANOU archives, so that author contributions are preserved long-term. 4
US 7.20 As an administrator, I want to delete existing admin profiles, so that outdated or incorrect information is removed. 2

Estimated Sprint Velocity: 17


Tasks

Task Related US Assigned To Due Date
Audit key pages for contrast and readability; define adjustments (tokens, theme, or component-level fixes) US 6.01 Riya Salian Mar 24
Implement and verify contrast improvements across shared UI (matches WCAG-oriented goals) US 6.01 Riya Salian Mar 28
Add backend and storage flow for author profile images and book covers (upload, validation, URLs) US 7.11 Jimi Lin Mar 24
Build admin UI to upload or replace author photos and work cover images US 7.11 Jimi Lin Mar 28
Expose accessibility / accommodation requests to admins (API or admin views wired to inbox data) US 7.16 Nancy Lin Mar 25
Build admin UI to review accessibility requests and support follow-up workflow US 7.16 Nancy Lin Mar 29
Add SILAB content links to main KAYANOU archives (config, CMS fields, or prominent footer/about links) US 7.17 Sarah Muir Mar 26
Verify archive links in UI and document maintainer steps for updating URLs US 7.17 Sarah Muir Mar 30
Implement admin API to delete admin profiles safely with auth checks US 7.20 Jimi Lin Mar 26
Add delete action for admin profiles in admin UI with confirmation; refresh team listing US 7.20 Jimi Lin Mar 30
Deployment documentation: self-hosted install guide (Docker and/or bare metal), env vars, DB migrations, reverse proxy, HTTPS notes Deployment rubric Karan Brar Mar 31
Deployment documentation: required runtimes, libraries, and versions (Node, Postgres, Prisma, etc.) with install references Deployment rubric Karan Brar Mar 31
Verify staging/production deploy is functional; remove debug/test credentials from defaults and sample env files Deployment rubric Karan Brar Mar 31
End-user manual: task-based guide for guests (schedule, events, authors, registration, contact/ASL, language) User manual rubric Zachary Oldford Mar 31
End-user manual: task-based guide for administrators (login, events, authors, team, schedules, requests) User manual rubric Zachary Oldford Mar 31
Job description: ready-to-publish posting for maintainer (deploy, bugfix, new features) with stack and skills Job description rubric TBD Mar 31
Requirements traceability matrix: update through Sprint 5 (incl. US 7.11); map US → tests → status Testing rubric Riya Salian Mar 29
Static analysis: run SonarQube or similar; summarize findings and fixes or waivers Testing rubric TBD Mar 31
CI/CD: confirm pipeline runs tests and builds; document or fix deploy-on-success for staging/prod Testing rubric TBD Mar 31
Revisions: address open TA feedback from prior sprints (code + docs) Revisions rubric Riya Salian Mar 29
CMPUT 401 portal: project name, tagline, summary, tags, screenshot, logo permission, repo link per client Portal rubric Everyone Mar 31
Teamwork / sprint close: retrospective notes, demo prep, final merge and release checklist Teamwork Everyone Mar 31