Making a site where students can view their progress towards assessments, submit assessments, and where teachers can view the progress of the cohort and review work.
Create a .env
file in the main directory and add:
JWT_SECRET="something super secret that you come up with"
Feel free to add an appropriately personal secret.
Run the following commands in your terminal:
npm install
npx knex migrate:latest
npx knex seed:run
npm run dev
The site should then be available on http://localhost:3000
As a student user:
- I want to view a list of all assessments
- I want to see which assessments I have completed
- I want to be able to sort assessments by complete vs incomplete
- I want to be able to see when this assessment should be completed
- I want to be able to submit a link to a repo I believe completes an assessment
- I want to see a list of recommended repos for a given assessment
As a teacher user:
- I want to be able to classify a new user as student or teacher
- I want to be able to match a new student user to their records
- I want to see a list of submitted links
- I want to be able to tick a given assessment off for a student
- I want to be able to add a comment as to what is missing on an assessment after reviewing a submission
- I want to see a list of current students
- I want to be able to see a specific student's assessment progress
- I want to be able to access json of current assessment data
- I want to be able to provide json data of students assessments to be included in the database
- I want to be able to add evidence for a given student's assessment
As a student user:
- I want to be able to see what assessments I have completed vs in progress or incomplete
- I want to be able to see what pieces are necessary to complete a given assessment
- I want to be able to see what pieces of an assessment I have completed
- I want to see which pieces are still necessary for this assessment when submitting
- I want to be able to submit reflections for the Human Skills assessments via the site
As a teacher user:
- I want to be able to tick a student off for specific parts of an assessment
- I want to be able to sort a student's completed work by complete vs incomplete
- I want to be able to see assessment progress for the entire cohort
- I want to be able to download a transcript of the cohorts results
- I want to be able to see results for previous students/cohorts
- I want to be able to view current foundations students separate from bootcamp students
- Graphs!
name | user | purpose |
---|---|---|
Login | * | View for user to enter their login credentials |
Register | * | View for user to sign up for the App |
Assessments | Student | View all my assessments and submit links for them |
Student | Teacher | See completion of a student |
Cohort | Teacher | See stats on individual cohorts |
Submissions | Teacher | Page containing list of all submissions |
Marking | Teacher | Place to review link and tick off completion |
name | purpose |
---|---|
auth | Store information regarding user logins, auth status and auth errors |
All these routes should be protected
Method | Endpoint | User | Usage | Response |
---|---|---|---|---|
Post | /api/auth/login | Log In a User | The Users JWT Token | |
Post | /api/auth/register | Register a User | The Users JWT Token | |
TBC |
Users, cohorts, assessments, and modules are all part of MVP. Elements are stretch.
const modules = [
{
id: 1,
title: 'Foundations: Tech',
prefix: 'FT',
course: 'Foundations',
assessments: [
{
code: 'FT01',
module_id: 1,
title: 'Use Git and terminal commands to manage a code base',
elements: [
{
id: 'FT01-1',
assessment_code: 'FT01',
text: 'Clone a repo'
},
...
]
},
...
]
},
...
]
Column Name | Data Type | Purpose |
---|---|---|
id | int | Unique identifier |
user_type | string | |
user_name | string | |
hash | text |
Column Name | Data Type | Purpose |
---|---|---|
user_id | int | |
actual_name | string | Name of student matching EDA records |
cohort_ id | int |
Column Name | Data Type | Purpose |
---|---|---|
id | int | Unique identifier |
name | string | |
campus | string |
Column Name | Data Type | Purpose |
---|---|---|
student_assessment_id | int | |
evidence | string |
Column Name | Data Type | Purpose |
---|---|---|
id | int | |
student_id | int | |
assessment_code | int | |
status | string |
Column Name | Data Type | Purpose |
---|---|---|
id | int | |
student_assmt_id | int | |
element_id | int |