Project made as a week-long group project by the students of the FutureProof Bootcamp (Auguste cohort) on LAP 1.
This is the backend server and database (a simple json file) for the project located at this link. The server can accept different types of requests:
REQUEST TYPE | ENDPOINT | REQUEST BODY STRUCTURE | RESPONSE | USE |
---|---|---|---|---|
GET | / | empty | String | Send a Text String |
GET | /posts | empty | All Posts and comments | First load |
GET | /posts/:id | id of Post as queryString | Body of the requestedPost with its comments | When clicking on a post to view its content |
POST | /posts | JSON with properties of 'bitle', 'body' and 'link' (for the giphy) all as Strings | All Posts and comments | When adding a new Post |
DELETE | /posts | id of Post as JSON | All Posts and comments | When deleting a Post |
POST | /posts/comments | JSON object with two properties: 'post' and 'comment' | The Post and its comments | When adding a Comment |
POST | /posts/emojis | JSON Object with two properties: 'post' and 'emoji' | All Posts and comments | When clicking on an emoji icon |
PATCH | /posts | JSON Object with two properties: 'post' and 'newData' | All the Posts and comments | When updating a previous Post |
The application has been deployed on Heroku at this link.
Locally:
npm install
npm start
Use with the front end client available at this link.
In the cloud:
- Use the frontend app located at this link
- Use a service like Hoppscotch
- NodeJS : javascript runtime
- ExpressJS : framework for nodejs that has been used to create the webserver
- Jest: test runner
- Supertest: to test HTTP Responses
- UUID: to generate Universally Unique IDentifiers used for the id of both Posts and Comments
- Hoppscotch: an online service used to manually test the routes
- Zoom: to make the daily standups
- Slack: to communicate with the team members
Developed routes and testings separately with frequent catch up to help each other. Used:
- independent programming
- pair-programming
- (remote) mob-programming.
ISC
From Wikipedia:
- The ISC license is a permissive free software license published by the Internet Software Consortium, now called Internet Systems Consortium (ISC). It is functionally equivalent to the simplified BSD and MIT licenses, but without language deemed unnecessary following the Berne Convention
- The server is working
- Getting excellent Coverage for tests
- Handling multiple errors with quite a bit of validation
- Cooperation has worked great
- Backend and Frontend communicate flawlessly
- Few merge conflicts as we agreed on when to push and merge beforehand and also worked on separate branches
- Using Heroku as a team instead of a single developer
- Covering so many tests and cases
- Plan how to implement the features and how to send/receive data between frontend and backend