Labs is a 5 week section of the program that is given to all students to go into a real life project simulation of what its like working in a team making a website for real world experience.
- 1st week is planning and reviewing the project.
- 2nd week is building the BackEnd API and to prepare for the FrontEnd
- 3rd week is building the FrontEnd to connect to the BackEnd make sure its passing info properly
- 4th week is styling the site to make it look professional.
- 5th week is debugging any bugs fix any leftover styling or add any additional functionality
ListMonkey is an application that allows user to make a private group to invite other users and assign them task to do, whether is be for a family household to keep track of what needs to get done or roommates to make sure all task are fair and equal.
https://chore-monkey.herokuapp.com/
- @pusher/push-notifications-server :
- body-parser : allows you to access req.body from within your routes
- cors : package for providing a Express middleware that can be used to enable CORS
- dotenv : a zero-dependency module that loads environment variables from a .env file into process.env
- express : Node.js framework
- express-jwt : lets you authenticate HTTP requests using JWT tokens in your Node.js applications. Used to protect API endpoints.
- faker : for generating fake data to build and test the application
- firebase : N/A
- firebase-admin : N/A
- helmet : a Node.js module that helps you secure HTTP headers returned by your Express apps
- jwks-rsa : A library to retrieve RSA signing keys from a JWKS (JSON Web Key Set) endpoint.
- knex.js : SQL query builder
- moment : used to Parse, validate, manipulate, and display dates and times in JavaScript.
- morgan : a logger on any requests being made,it generates logs automatically.
- nodemailer : a module for Node.js applications to allow easy as cake email sending.
- nodemon : a utility that will monitor for any changes in your source and automatically restart your server.
- pg : Non-blocking PostgreSQL client for Node.js.
- pusher : is a hosted service that makes it super-easy to add real-time data and functionality to web and mobile applications.
- sqlite3 : Library that implements SQL database engine
- stripe : Its software allows individuals and businesses to make and receive payments over the Internet.
- Billing : x
- commment : x
- Group Members : X
- Group : x
- Invitation : x
- List : x
- Notifaction : x
- Subscription : x
- Task : x
- User : x
Method URL: /api/users HTTP method:[GET]
Response 200 (ok)
[{ "id":1, "email":"thor@avengers.com", "name":"Thor", "uid":"uidstring0", "profilePicture":"https://i.imgur.com/M8kRKQC.png", "location":"Boise, Idaho", "phone":null, "coverPhoto":"https://source.unsplash.com/random", "subscriptionType":1, } ,
{ "id":1, "email":"thor@avengers.com", "name":"Thor", "uid":"uidstring0", "profilePicture":"https://i.imgur.com/M8kRKQC.png", "location":"Boise, Idaho", "phone":null, "coverPhoto":"https://source.unsplash.com/random", "subscriptionType":1, }]
Method URL: /api/users/:id HTTP method:[GET]
Response 200 (ok)
{ "id":1, "email":"thor@avengers.com", "name":"Thor", "uid":"uidstring0", "profilePicture":"https://i.imgur.com/M8kRKQC.png", "location":"Boise, Idaho", "phone":null, "coverPhoto":"https://source.unsplash.com/random", "subscriptionType":1, }
Method URL: /api/users HTTP method:[POST]
Method URL: /api/users HTTP method:[DELETE]
Method URL: /api/users HTTP method:[PUT]
Method URL: /api/group HTTP method:[GET]
Response 200 (ok)
[{ "id":1, "creatorId":1, "name":"Asgard castle rooms" }, { "id":2, "creatorId":1, "name":"Asgard gardens" }]
Method URL: /api/group/:id HTTP method:[GET]
Response 200 (ok)
{ "id":1, "creatorId":1, "name":"Asgard castle rooms" }
Method URL: /api/group/:id HTTP method:[DELETE]
Method URL: /api/group HTTP method:[POST]
Method URL: /api/group/:id HTTP method:[PUT]
Method URL: /api/tasks HTTP method:[GET]
Response 200 (ok)
[{ "id":1, "title":"polish hammers", "assignedTo":1, "groupId":1, "isComplete":0, "description":"dust particles tend to turn into glass when struck, really hard to remove later", "dueDate":"2100-05-05",
}, { "id":2, "title":"insulate beds", "assignedTo":4, "groupId":1, "isComplete":0, "description":"he tosses and strikes when he's dreaming", "dueDate":"2100-05-05", }]
Method URL: /api/tasks/:id HTTP method:[GET]
Response 200 (ok)
{ "id":1, "title":"polish hammers", "assignedTo":1, "groupId":1, "isComplete":0, "description":"dust particles tend to turn into glass when struck, really hard to remove later", "dueDate":"2100-05-05",
}
Method URL: /api/tasks/:id HTTP method:[DELETE]
Method URL: /api/tasks HTTP method:[POST]
Method URL: /api/tasks/:id HTTP method:[PUT]
Method URL: /api/tasks/group/:id HTTP method:[GET]
Method URL: /api/charge HTTP method:[POST]
Method URL: /api/comments HTTP method:[GET]
Method URL: /api/comments/:id HTTP method:[GET]
Method URL: /api/comments HTTP method:[POST]
Method URL: /api/comments/:id HTTP method:[DELETE]
Method URL: /api/comments/:id HTTP method:[PUT]
Method URL: /api/groupmembers HTTP method:[GET]
Method URL: /api/groupmembers/:id HTTP method:[GET]
Method URL: /api/groupmembers/ HTTP method:[POST]
Method URL: /api/groupmembers/:id HTTP method:[PUT]
Method URL: /api/groupmembers/:id HTTP method:[DELETE]
Method URL: /api/list HTTP method:[GET]
Method URL: /api/list/:id HTTP method:[GET]
Method URL: /api/list HTTP method:[POST]
Method URL: /api/list/:id HTTP method:[DELETE]
Method URL: /api/list/:id HTTP method:[PUT]
Method URL: /api/notification HTTP method:[GET]
Method URL: /api/notification/:id HTTP method:[GET]
Method URL: /api/notification/user/:id HTTP method:[GET]
Method URL: /api/notification HTTP method:[POST]
Method URL: /api/notification/:id HTTP method:[PUT]
Method URL: /api/notification/:id HTTP method:[DELETE]
Method URL: /api/invite/create HTTP method:[POST]
Method URL: /api/invite/join HTTP method:[POST]
Method URL: /api/subscription HTTP method:[GET]
Method URL: /api/subscription/:id HTTP method:[GET]
Method URL: /api/subscription HTTP method:[POST]
Method URL: /api/subscription/:id HTTP method:[PUT]
Method URL: /api/subscription/:id HTTP method:[DELETE]