...
Index.tsx (Entry Point for React app)
Auth Context (Logging the user in and tracking the current user) undefined is gonna be a guest
apis (Axios calls to backend)
hooks (Largely Manage state between axios calls and frontend displays)
components (Shared ui pieces)
pages (Large single instances of compilations of components)
Projects
Experience
About Me (bio)
Shared
Types
Gimmes
frontend login + contexts
backend cors, express setup and auth
GetCurrentUser, ValidateInputs, Errors
Timeline
Software General Info
NER Wide General Info
First Software Meeting - Talk about Club, Separate returning members vs new members, returning members get tech leads, new members get Launchpad Orientation (Explains what launchpad is) - Homework to do env setup based off of confluence. (ask #software_env_setup) about questions
1st Week
Dedicate only 15 mins to wrapping up env setup (after 15 minutes were gonna start).
Start Discussing Prisma
Via slides, explain what SQL Tables is, explain what prisma schema is, explain existing scripts and what they do (10)
Walkthrough Schema Creation for Project, User (10)
Have them do Experience (10 - 20 minutes)
Via Slides explain what SQL Inserts are, explain what prisma.creates are (10)
Walkthrough seeding a project, user (5 - 10) (prisma studio to confirm)
Have them seed an experience (5 - 10 minutes)
Room for questions (10 - 20 minutes) (Padding)
Homework that they can start after workshop is seed 3 projects and 3 experience
Ask people questions during the walkthrough
2nd Week
Start Discussing Express
What is an API
What is a Server
What is CRUD, HTTP
Routes, Controllers, Services Architecture (15-20)
Walkthrough
Create Project, Retrieve All Projects, Update Project, Delete Project + Transformers, Query args and Shared Types (15-20) (No File Uploads)
Have them do Create Experience, Retrieve all Experiences, Update Experiences, Delete Experiences + Transformers Query args and shared types (20-30) (No File Uploads)
Walkthrough File Uploads for projects (5 - 10)
have them do file uploads for experiences (5 - 10)
Homework, Finish anything they didnt get to do and do Get All Users and Log User In, Convert seeded functions to use service functions
3rd Week
Start Discussing Testing
Unit tests versus integration tests (5 mins)
What is jest/vitest (10 mins)
Walkthrough
Tests for Create Project, Retrieve all projects, update project, delete project (15-20) minutes
Have them do Create Experience Retrieve all experiences, update experiences and delete experiences (20 - 30)
Walkthrough Postman Test for create project (5 - 10 mins)
Have them postman test their create experience function (5 - 10 mins)
Homework, Finish anything they didnt get to and test get all users and log use in
4th Week
Start Discussing Frontend
What is React (5 - 10 mins)
What is MUI (5 - 10 mins)
Current Structure of Frontend (5 - 10 mins)
Walkthrough