This Lesson Planner allows users to plan units and lessons using a simple interface.
The Lesson Planner is for educators interested in creating cohesive unit and lesson plans. The Lesson Planner allows teachers to create subjects, units, and detailed lessons quickly.
- As an initial visitor, I want to land on the web page and see what it is about so I can decide whether I want to create an account.
-
As a user, I should be able to view my classes, units and lesson plans.
-
As a user, I should be able to create a new class, unit and lesson plan.
-
As a user, I should be able to update or delete a class, unit or lesson plan.
-
As a user, I should be able to view detailed lesson plans.
Find a working prototype with Node at https://jgmil-lesson-planner.herokuapp.com/ and with React at https://jgmil.github.io/lesson-planner-fullstack-capstone-react/build
- When they first set up their account, users will be prompted to create their first class.
- Logged in users can create, update and delete classes, units and lesson plans.
The Lesson planner was built as two separate parts.
- HTML5
- CSS3
- JavaScript
- React
The app is responsive and optimized for both desktop and mobile viewing and use.
User passwords are encrypted using bcrypt.js
API endpoints for the back end include:
-
POST to '/users/create' for creating a new user
-
POST to '/users/login' to log in an existing user
-
GET to '/subjects/:user' to access all of a user's existing subjects
-
GET to '/units/:user' to access all of a user's existing units
-
GET to '/lessons/:user' to access all of a user's existing lessons
-
POST to '/subject/create' to add a new class
-
PUT to '/subject/:id' to update an existing class
-
GET to '/subject/:id' to access a single class by ID
-
DELETE to '/subject/:id' to delete a single class by ID
-
POST to 'unit/create' to add a new unit
-
PUT to 'unit/:id' to update an existing unit
-
GET to 'unit/:id' to access a single unit by ID
-
DELETE to 'unit/:id' to delete a single unit by ID
-
DELETE to 'units/:subject-id' to delete all units with a specific subject ID
-
POST to 'lesson/create' to add a new unit
-
PUT to 'lesson/:id' to update an existing unit
-
GET to 'lesson/:id' to access a single unit by ID
-
DELETE to 'lesson/:id' to delete a single unit by ID
-
DELETE to 'lessons/:id' to delete all lessons with a specific unit ID
Planned additional features and improvements will allow users to:
- Ability to rearrange units and lessons
- Ability to insert a lesson in a unit and bump the rest to the next day
- Add dates and a calendar view
- Change password
- Update email address
- npm install ==> install all node modules
- nodemon server.js ==> run node server
- npm test ==> run the tests
- npm install ==> install all node modules
- npm run build ==> build the react files in the "build" folder
- npm start ==> run react server on http://127.0.0.1:8080
- npm test ==> run the tests