NoSQLVerse API is a robust and scalable backend built to support the NoSQLVerse social network web application. This API enables users to seamlessly share their thoughts, react to their friends' thoughts, and maintain a friend list. The API is built using Express.js for routing, a MongoDB database for data storage, and the Mongoose ODM (Object-Document Mapper) for simplified database interactions.
The API leverages Express.js for handling HTTP requests and routing, providing a well-structured and maintainable codebase. MongoDB, a NoSQL database, is used to store and retrieve data efficiently. The Mongoose ODM simplifies database interactions by providing a schema-based solution for modeling application data.
To enhance the user experience, the API utilizes the Moment package to format timestamps, ensuring that dates and times are displayed in a user-friendly format.
NoSQLVerse API is a powerful backend solution for building social network web applications, providing users with a seamless and engaging experience while facilitating secure data management and real-time interactions.
For a detailed demonstration of NoSQLVerse's functionality, including user registration, thought sharing, reactions, and friend list management, a walkthrough video has been created. You can access the video further down below in this readme.md
- Key Features
- Languages and Technologies Used
- Developers
- Application Preview
- Installation
- Getting Started
- Testing NoSQLVerse
- Credits
- License
Thought Management: Users can create, read, update, and delete their thoughts. The API handles thought CRUD operations, ensuring that only the authorized user can perform actions on their thoughts. Thoughts are stored in a MongoDB database, allowing for efficient retrieval and manipulation.
Reaction System: Users can react to their friends' thoughts by liking, disliking, or leaving comments. The API manages the reaction system, enabling users to express their feelings and opinions. The reaction data is stored alongside the thoughts, allowing for easy retrieval and aggregation.
Friend List Management: Users can create and manage their friend lists, enabling them to connect with other users on the platform. The API provides endpoints to add friends, remove friends, and retrieve the friend list of a user.
Featured Technology Used | Link |
---|---|
JavaScript |
LINK |
Node.js |
LINK |
Git |
LINK |
NPM |
LINK |
Mysql |
LINK |
Sequelize |
LINK |
Express |
LINK |
dotenv |
LINK |
Insomnia |
LINK |
Collaborators | Socials |
---|---|
Noah Hoang |
-
NoSQLVerse Tutorial - NoSQLVerse Tutorial
To Clone My Repository Using CLI
- Click on the green code button and copy the link for the SSH key.
- Once clip-boarded load up a command line interface and change directory to one of your preference
- Enter in the command
git@github.com:CodeNameNoah/NoSQLVerse.git
- Enter your protected SSH password
To Download My Repository as a ZIP File
- Click on the green code button
- In the bottom of the drop-down menu, click Download Zip
To begin the installation process, first clone the GitHub Repository onto your local machine. After successfully cloning, open the root folder using the terminal. Execute the command "npm i" to install all the necessary modules and packages. Once the installation is finished, run "npm run dev" to start the server and commence the operation.
Insomnia Core is employed to perform comprehensive testing on all API routes. The creation and testing of Users, Thoughts, and Reactions are carried out using POST, PUT, and DELETE routes. These functionalities operate seamlessly to effectively create, update, and delete data within the NoSQL database of the Social Network API. Here are some various sneak peaks of my API in use.
- Express Installation: https://expressjs.com/en/starter/installing.html
- Express API: https://expressjs.com/en/api.html
- GET & POST Requests: https://www.diffen.com/difference/GET-vs-POST-HTTP-Requests
- Error Help: https://stackoverflow.com/questions/14949118/node-js-error-cannot-find-module-express
- Express Routing Guide: https://expressjs.com/en/guide/routing.html
- Error in Sequelize: https://stackoverflow.com/questions/61515940/error-in-sequelize-name-sequelizeeagerloadingerror
- Express Middleware: https://expressjs.com/en/guide/using-middleware.html
MIT License
Copyright (c) [2023] Noah Hoang
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,