-
Notifications
You must be signed in to change notification settings - Fork 4
Feature List and Timeline
Rayner edited this page Jul 8, 2022
·
13 revisions
For the features, we decided to organize them by pages (like a sitemap) so that is easier to understand the flow of the system by how the website will be structured
| ID | Feature | Priority | Status |
|---|---|---|---|
| 1 | Manage Cohorts Page | P0 | Completed |
| 2 | Manage Users Page | P0 | Completed |
| 3 | Manage Deadlines Page | P0 | Completed |
| 4 | Manage Deadline Details Page | P0 | Completed |
| 5 | Sign In Page | P0 | Completed |
| 6 | Reset Password Page | P1 | Completed |
| 7 | Change Password Page | P1 | Completed |
| 8 | Manage Projects List Page | P1 | Completed |
| 9 | Project Details Page | P0 | Completed |
| 10 | Project Gallery Page | P1 | Blocked (Requires submissions) |
| 11 | Staff Page | P2 | Completed |
| 12 | Student Dashboard | P0 | Next milestone |
| 13 | Adviser Dashboard | P0 | Next milestone |
| 14 | Mentor Dashboard | P0 | Next milestone |
| 15 | Administrator Dashboard | P0 | Next milestone |
| 16 | Applications Page | P3 | Next milestone |
| 17 | Forum Page | P2 | Next milestone |
| 18 | Profile Page | P2 | Completed |
-
- As a student, I can view all my upcoming deadlines and their due dates
-
- As a student, I can view the questions of a deadline
-
- As a student, I can submit my answers to deadlines
-
- As a student, I can edit my submitted answers (should we block edits after deadline?)
-
- As a student, I can view the evaluations that I have received
-
- As a student, I can view submissions from other teams in my evaluation group
-
- As an adviser, I can view all the projects that I am responsible for and their submissions
-
- As an adviser, I can evaluate submissions of the projects I am responsible for
-
- As an adviser, I can submit my answers to evaluation or deadline forms'
-
- As an adviser, I can edit my answers submitted answers before the due date
-
- As an adviser, I can view the milestone submissions of all the teams that I am responsible for
-
- As an administrator, I can view all evaluation responses identify which teams have yet to submit
-
- As an adviser, I can view the peer evaluations submitted by the teams I am responsible for
-
- As an adviser, I can create evaluation groups for projects that I am responsible for
-
- As an adviser, I can edit the evaluation groups that I had created
-
- As an adviser, I can delete the evaluation groups that I had created
-
- As an adviser, I can view all the projects that I am responsible for
-
- As a mentor, I can view the milestone submissions of all the teams that I am responsible for
-
- As a mentor, I can view prospective projects and decide whether or not to mentor them
-
- As an mentor, I can view all the projects that I am responsible for
-
- As an administrator, I can view all submissions for all deadlines
-
- As an administrator, I can view the level of achievement, students, advisers and mentors of all projects
-
- As an administrator, I can delete projects
-
- As a student, I can view my project's id, name, students, adviser, mentor, proposal pdf and level of achievement
-
- As an adviser, I can modify the level of achievement of projects that I am responsible for
-
- As a user, I can view all projects' posters and videos across all levels of achievement and cohorts
-
- As a user, I can search and filter projects
-
- As a user, I can view a project's details
-
- As a user, I can view a project's submissions
-
- As a user, I can view all staff involved in Orbital across all cohorts and get their contact information
-
- As an administrator, I can add new cohorts with specific start and end dates
-
- As an administrator, I can view all cohorts as well as their respective start and end dates
-
- As an administrator, I can edit the start and end date of cohorts
-
- As an administrator, I can delete cohorts that do not have any students
-
- As an administrator, I can view roles of all accounts
-
- As an administrator, I can create new accounts with a specific role
-
- As an administrator, I can batch create new accounts with student role
-
- As an administrator, I can batch create new accounts with mentor role
-
- As an administrator, I can batch attach the adviser role to existing users with student role
-
- As an administrator, I can add roles to existing accounts
-
- As an administrator, I can delete roles from existing accounts
-
- As an administrator, I can edit the role information of existing accounts
-
- As an administrator, I can select an account to preview the website as
-
- As an administrator, I can add new deadlines with due dates
-
- As an administrator, I can view all deadlines by cohort
-
- As an administrator, I can edit the due date of deadlines
-
- As an administrator, I can delete deadlines
-
- As an administrator, I can view a deadline's questions
-
- As an administrator, I can add/edit/delete questions from a deadline
-
- As an administrator, I can choose which questions should be anonymous
-
- As a user, I can view any user's profile details
-
- As a user, I can edit my own user profile details
-
- As a user, I can sign into the platform
-
- As a user, I can reset my password which emails me the new generated password
-
- As an aspiring orbitee, I can submit my proposal directly via Skylab
-
- As an administrator, I can view all submitted proposals
-
- As an administrator, I can accept or reject proposals
-
- As an administrator, I can delete posts which violate rules or protocols
-
- As a user, I can create posts on the forum
-
- As a user, I can edit my posts on the forum
-
- As a user, I can delete my posts on the forum
-
- As a user, I can comment on forum posts
-
- As a user, I can edit my comments in forum posts
-
- As a user, I can delete my comments in forum posts
-
- As a user, I can directly access the profiles of the author or commentors of the post I am currently viewing
-
- As a user, I can search and filter posts
-
- The system can automatically download and re-upload submissions on a local server (images)/YouTube (videos) so that there are local copies of project submissions (for Liftoff and Splashdown)
-
- As an administrator I can clone deadlines and their questions for a new cohort so I do not have to recreate all the questions
- Create Next App
- Set up Material UI and global css file
- Create Express App
- Set up project folder structure
- Set up config files
- Next
- Typescript
- Eslint
- Prettier
- Create Firebase app
- Create user data schemas and tables in Prisma
- Users
- Students
- Mentors
- Advisers
- Facilitators
- Set up users endpoints to allow user creation in Prisma
- Set up auth context on client side
- User data state
- User data loading state
- Sign in function
- Sign out function
- Reset Password function
- Responsive navbar
- Footer
- Button
- Typography
- Form controls
- Select
- Radio
- Input
- About Orbital section
- Create projects schema and table in Prisma
- Seed past project data into Prisma
- Set up projects endpoints on server side to provide projects data
- Connect to projects endpoints on client side to receive projects data
- Set up staff endpoints on server side to provide staff data
- Grid display for all staff
- Tabs to filter staff by role
- Cohort selector
- Search input for search by string matching
- Connect to staff endpoints on client side to receive staff data
- Create projects schema and table in prisma
- Seed past projects data into Prisma
- Set up projects endpoints on server side to provide projects data
- Grid display for all projects
- Tabs to filter projects by level of achievement
- Cohort selector
- Search input for search by string matching
- Connect to projects endpoints on client side to receive projects data
- Set up user endpoints on server side to provide data of a specific user
- Set up user endpoints on server side to allow updates to the data of a specific user
- Display user info
- Name
- Profile picture
- Team
- Contact info
- Allow users to edit their own profiles
- Connect to user endpoints on client side to receive data of a specific user
- Connect to user endpoints on client side to send updated data of a specific user
- Set up user endpoints on server side to provide data of all users
- Set up administrator endpoints to allow updates to the role of a specific user
- Set up administrator endpoints to allow updates to the role of a batch of users
- List display of all users
- Allow administrators to edit user roles individually
- Allow administrators to edit user roles in batches
- Allow administrators to create a new user with a specific role
- Allow administrators to preview the website from the perspective of any specific user
- Connect to user endpoints on client side to receive data of all users
- Connect to user endpoints on client side to send updated role of a specific user
- Connect to user endpoints on client side to send updated role of a batch of users
- Create questions schema and table in Prisma
- Create options schema and table in Prisma
- Create deadlines schema and table in Prisma
- Set up deadlines endpoints on server side to provide milestone data
- Set up deadlines enpoints on server side to allow creation of deadlines
- Set up deadlines endpoints on server side to allow updates to data of deadlines
- Set up deadlines endpoints on server side to allow deletion of deadlines
- List display of all active deadlines with the option to view
- Give administrators the option to edit and delete active deadlines
- Viewing a milestone displays all its deadlines and deliverables (forms)
- Connect to deadlines endpoints on client side to receive milestone data
- Connect to deadlines endpoints on client side to send updated milestone data
- Connect to deadlines endpoints on client side to delete future deadlines
- Add a link to orbital.comp.nus.edu.sg
- Set up projects endpoints on server side to allow updates to details of projects
- Set up projects endpoints on server sdie to allow deletion of projects
- Connect to projects endpoints on client side to send updated project data
- Connect to projects endpoints on client side to delete projects
- List display of all projects in Projects List page
- Viewing a project's details in Project Details page shows level of achievement, submissions, students, mentor(s) and adviser(s) of the project
- Allow advisers and administrators to edit level of achievement in Project Details Page
- Allow administrators to delete projects in Projects List Page
- Create cohorts schema and table in Prisma
- Set up cohorts endpoints on server side to provide cohorts data
- Set up cohorts endpoints on server side to allow updates to data of cohorts
- Set up cohorts endpoints on server side to allow deletion of cohorts
- List view of all cohorts showcasing start and end date
- Allow administrator to edit start and end date of cohorts
- Allow administrator to delete cohorts
- Connect to cohorts endpoints on client side to receive cohorts data
- Connect to cohorts endpoints on client side to send updated cohort data
- Connect to cohorts endpoints on client side to delete cohorts
- Set up deadlines endpoints on server side to provide due date and description of deadlines
- Set up deadlines endpoints on server side to allow updates to due date and description of deadlines
- Set up deadlines endpoints on server side to allow addition of questions to a deadline
- Set up deadlines endpoints on server side to allow deletion of questions from a deadline
- Set up deadlines endpoints on server side to allow updates to questions of a deadline and their type
- Set up deadlines endpoints on server side to allow addition of options to questions of a deadline
- Set up deadlines endpoints on server side to allow updates to the options of questions of a deadline
- Set up deadlines endpoints on server side to allow deletion of options from questions of a deadline
- Display due date, description, questions (together with respective options) of a deadline
- Only allow administators to access this page
- Connect to deadlines endpoints on client side to receive deadline details
- Connect to deadlines endpoints on client side to update deadline details
- Connect to deadlines endpoints on client side to add questions to deadlines
- Connect to deadlines endpoints on client side to delete questions from deadlines
- Connect to deadlines endpoints on client side to update questions and question types
- Connect to deadlines endpoints on client side to add options to questions of a deadline
- Connect to deadlines endpoints on client side to update options to questions of a deadline
- Connect to deadlines endpoints on client side to delete options to questions of a deadline
- Create answers schema and table in Prisma
- Create submitter schema and table in Prisma
- Create submissions schema and table in Prisma
- Create evaluation groups schema and table in Prisma
- Set up submissions endpoints on server side to provide evaluation group data
- Set up submissions endpoints on server side to allow updates to evaluation groups
- Set up submissions endpoints on server side to allow deletions of evaluation groups
- Set up submissions endpoints on server side to allow submission of answers
- Set up submissions endpoints on server side to allow updates to submitted answers
- Create UI components for each question type
- Render the correct components in the correct order for deadlines
- Save poster and video to skylab server