Kudos Design Document

Problem

As students and developers, our lives move fast, and accomplishments for our work often goes unnoticed. Since we are tasked with executing and delivering software on top of schoolwork and other responsibilities, it is easy to feel overworked and burnt out.

The Tech Team will create a tool that facilitates interconnectivity across project teams by allowing developers to leave feedback under each other's work during sprints.

Feedback can be positive or constructive, and will always be anonymous.

Features

The app consists of two main pages.

Features for page 1, the main page:

each of these components will have filter, sort, and search functionality


Features of page 2, the admin page:

Page 2 will have admin access only.


End-to-End User Workflow

1. General User (Developer) Experience

- Initial Access:

- Browsing Commits:

- Leaving Feedback (Kudos):

- Viewing Session Status:

2. Admin User Experience

- Accessing Admin Page:

- Starting/Ending a Kudos Session:

- Reviewing Comments:

- Viewing Comment Analytics:

- Setting Timed Start/End:


High Level Architecture

  1. Frontend (Client-Side):
    • React/TSX UI
      • handling user interactions, and displaying data.
      • rendering the 4x4 card layout, sidebar navigation, and admin dashboard.
      • API calls to backend db.
  2. Backend (Server-Side):
    • Django/Python for the APIs.
      • manages data retrieval from GitHub API
      • handles auth using GitHub API
      • implements logic for filtering, sorting, and searching commits and comments.
  3. Database???:
    • MongoDB to store commit data, user information, comments, and session details.
  4. Real-time Communication???:
    • websockets?

Outstanding Questions

should we store commit data? or just pull instances from API?


Revision #4
Created 7 April 2025 19:57:49 by Miguel Merlin
Updated 14 September 2025 21:38:41 by Emilio Cardillo Schrader