MongoDB is a popular choice for many social networks due to its speed with large amounts of data and flexibility with unstructured data.
In this project, I built an API for a social network web application where users can share their thoughts, react to friends' thoughts, and create a friend list.
Packages used includes Express.js for routing, and Mongoose packages.
- Description
- User Story
- Installation
- Usage
- Acceptance Criteria
- License
- Contributors
- Tests
- Technology Used
- Questions
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 Core 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 Core
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 Core
THEN I am able to successfully create and delete reactions to thoughts and add and remove friends to a user’s friend list
To install this application, clone the code into your terminal for the respective repository. Then, install npm by entering the command npm install
into the terminal. Install express and mongoose by entering npm i express
and npm i mongoose
into the command line, respectively.
- Install npm and dependencies: npm install
- Open Insomnia and test API GET, POST, PUT, and DELETE routes for thoughts, users, friends, and reactions
To contribute to social-network, clone this repo locally and commit your code on a separate branch.
Contributors:
Made with contributors-img.
• Node • Express.js • Javascript • Mongoose • MongoDB • Insomnia
My Github username is jdeschat, which can be accessed here https://github.com/jdeschat/social-network.
You can reach me at jdeschat@gmail.com with additional questions.
Below is the link to my demo video on my Github: