MongoDB is a popular choice for many social networks due to its speed with large amounts of data and flexibility with unstructured data. Your task is to build an API for a social network web application where users can share their thoughts, react to friends’ thoughts, and create a friend list. You’ll use Express.js for routing, a MongoDB database, the Mongoose ODM, and a JavaScript date library of your choice or the native JavaScript Date
object to format timestamps.
AS A social media startup
I WANT an API for my social network that uses a NoSQL database
SO THAT my website can handle large amounts of unstructured data
GIVEN a social network API
WHEN I enter the command to invoke the application
THEN my server is started and the Mongoose models are synced to the MongoDB database
WHEN I open API GET routes in Insomnia for users and thoughts
THEN the data for each of these routes is displayed in a formatted JSON
WHEN I test API POST, PUT, and DELETE routes in Insomnia
THEN I am able to successfully create, update, and delete users and thoughts in my database
WHEN I test API POST and DELETE routes in Insomnia
THEN I am able to successfully create and delete reactions to thoughts and add and remove friends to a user’s friend list
The following animations show examples of the application's API routes being tested in Insomnia.
GET routes to return all users and all thoughts being tested in Insomnia:
GET routes to return a single user and a single thought being tested in Insomnia:
POST, PUT, and DELETE routes for users being tested in Insomnia:
POST and DELETE routes for a user’s friend list being tested in Insomnia:
Submition of the following for review:
-
A walkthrough video demonstrating the functionality of the application and all of the acceptance criteria being met. https://drive.google.com/file/d/1H0B1BHjrQ5WmidNyEnSUFbzPJe42pcqa/view
-
The URL of the GitHub repository: https://github.com/tracyewilhelm/SocialNetworkAPI