Skip to content

Social Network API that allows users to share their thoughts, react to their friends' thoughts, and create a friend list.

License

Notifications You must be signed in to change notification settings

larigens/stickify

Repository files navigation

Stickify

logo

Social Network API
built using Node.js and MongoDB


Node.js Express Mongodb


Description

Stickify is an API for a social network web application that allows users to share their thoughts, react to their friends' thoughts, and create a friend list.

Table of Contents

Installation

Cloning the Repository

Click <> code - the green button. After clicking, in the local tab, copy the SSH key. Open the terminal in your Macbook or git bash, if you have Windows/Linux, and type:

git clone [paste ssh key]

Prerequisites

This package requires Node.js,Express.js, MongoDB and Mongoose.

For Node.js

npm i node@lts

For Express.js

npm i express

For MongoDB

npm i mongodb

For Mongoose

npm i mongoose

Setting Up

Open the project in VS Code and make sure you are in the directory of this application before installing the dependencies. To install it, type the commands below on your terminal:

npm i

Once you run this, npm will begin the installation process of all of the current project's dependencies.

Mock-Up

The following images are an illustration of the existing collections in the database.

user collection

thought collection

Usage

Launch the application by entering the command below on your terminal:

npm start

You can use this API to build your own social network web application where users can share their thoughts, react to friends’ thoughts, and create a friend list.

This API provides endpoints to create, read, update, and delete users and thoughts. You can also create and delete reactions to thoughts and add and remove friends to a user’s friend list.

If you need more guidance on how to use Stickify, click here for the tutorial!

Tests

Prerequisites

To test this application, you will need to install Postman API or Insomnia.

Setting Up

Open your terminal, make sure you are in the directory of this application and type the command below to seed data to the database so that you can test the routes.

npm run seed

npm run seed results

Running Tests

The following animation shows the application's GET routes to return all users, and all thoughts being tested in Insomnia:

In Insomnia, the user tests “GET users” and “GET All thoughts”.

The following animation shows the application's GET routes to return a single user and a single thought being tested in Insomnia:

In Insomnia, the user tests “GET user by id” and “GET thought by id”.

The following animation shows the application's POST, PUT, and DELETE routes for users being tested in Insomnia:

In Insomnia, the user tests “DELETE user by ID,” “CREATE user,” and “UPDATE user.”

The following animation shows the application's POST, PUT, and DELETE routes for thoughts being tested in Insomnia:

In Insomnia, the user tests “DELETE thought by ID”, “CREATE thought”, and “UPDATE thought”.

The following animation shows the application's POST and DELETE routes for user's friend list being tested in Insomnia:

In Insomnia, the user tests “DELETE friend by ID” and “CREATE friend”.

The following animation shows the application's POST and DELETE routes for thought's reactions being tested in Insomnia:

In Insomnia, the user tests “DELETE reaction by ID” and “CREATE reaction.”

Questions

For questions and support feel free to contact me via:

📧 Email

🐈‍⬛ GitHub

Contributing

Contributing Guidelines

Want to report a bug, contribute some code, request a new feature, or improve the documentation? You can submit an issue and I will gladly welcome you as a contributor, but before submitting an issue, please search the issue tracker, as it may already exist!

Code of Conduct

Our Code of Conduct follows the same principles as the Contributor Covenant, version 2.1.

Credits

Acknowledgements

Links

Portfolio Linkedin Twitter

License

Please refer to the LICENSE in the repo.

About

Social Network API that allows users to share their thoughts, react to their friends' thoughts, and create a friend list.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published