{"id":23671991,"url":"https://github.com/BrockAltug/nosql-social-network-api","last_synced_at":"2025-09-02T00:32:25.173Z","repository":{"id":268972711,"uuid":"906033840","full_name":"BrockAltug/nosql-social-network-api","owner":"BrockAltug","description":"🌐 A NoSQL-based Social Network API backend solution for managing users, thoughts, reactions, and friend lists, built with Node.js, Express, MongoDB, and Mongoose. Perfect for modern social networking applications. 🚀","archived":false,"fork":false,"pushed_at":"2025-01-03T01:27:05.000Z","size":124,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T06:13:40.812Z","etag":null,"topics":["dotenv","expressjs","insomnia","mongodb","mongoose","nodejs"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BrockAltug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-20T02:56:49.000Z","updated_at":"2025-01-27T22:17:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"462d375b-4b04-440a-baf9-e7d3344a58b5","html_url":"https://github.com/BrockAltug/nosql-social-network-api","commit_stats":null,"previous_names":["brockaltug/social-network-api","brockaltug/nosql-social-network-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BrockAltug/nosql-social-network-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Fnosql-social-network-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Fnosql-social-network-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Fnosql-social-network-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Fnosql-social-network-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BrockAltug","download_url":"https://codeload.github.com/BrockAltug/nosql-social-network-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BrockAltug%2Fnosql-social-network-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273213733,"owners_count":25065058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-01T02:00:09.058Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotenv","expressjs","insomnia","mongodb","mongoose","nodejs"],"created_at":"2024-12-29T10:34:23.872Z","updated_at":"2025-09-02T00:32:25.160Z","avatar_url":"https://github.com/BrockAltug.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Social Network API\n\n## Description\n\nThe Social Network API is a backend solution designed for a social network application. This API allows users to manage profiles, share thoughts, react to other users' thoughts, and manage a friend list. Built using Node.js, Express.js, MongoDB, and Mongoose, this project demonstrates a NoSQL-based backend architecture that efficiently handles unstructured data while providing a robust set of RESTful API endpoints.\n\n![Screenshot of the Social Network API](assets/ss.png)\n\n[View Live Demo](https://drive.google.com/file/d/1BJ0uN1zXUaBaS0IczMI88igEXkBfx1eL/view?usp=sharing)\n\n## Table of Contents\n\n- [Description](#description)\n- [How to Use](#how-to-use)\n- [Example API Usage](#example-api-usage)\n- [Technologies Used](#technologies-used)\n- [Summary](#summary)\n\n---\n\n## How to Use\n\n1. **Clone the Repository:**\n\n   Clone the project to your local machine using:\n\n   ```bash\n   git clone https://github.com/BrockAltug/social-network-api.git\n   ```\n\n2. **Install Dependencies:**\n\n   Navigate to the project directory and install the necessary dependencies:\n\n   ```bash\n   npm install\n   ```\n\n3. **Configure Environment Variables:**\n\n   Create a `.env` file in the root directory and add the MongoDB URI:\n\n   ```env\n   MONGO_URI=mongodb://127.0.0.1:27017/socialNetworkDB\n   ```\n\n4. **Seed the Database (Optional):**\n\n   To populate the database with sample data, run:\n\n   ```bash\n   node seed.js\n   ```\n\n5. **Start the Server:**\n\n   Start the API server:\n\n   ```bash\n   npm start\n   ```\n\n6. **API Testing:**\n\n   Use a tool like **Insomnia** or **Postman** to test the API endpoints.\n\n---\n\n## Example API Usage\n\n### **User Routes**\n\n- **GET /api/users** - Retrieve all users.\n- **POST /api/users** - Create a new user.\n- **GET /api/users/:id** - Get a single user by ID.\n- **PUT /api/users/:id** - Update a user by ID.\n- **DELETE /api/users/:id** - Delete a user by ID.\n\n### **Thought Routes**\n\n- **GET /api/thoughts** - Retrieve all thoughts.\n- **POST /api/thoughts** - Create a new thought.\n- **GET /api/thoughts/:id** - Get a single thought by ID.\n- **PUT /api/thoughts/:id** - Update a thought by ID.\n- **DELETE /api/thoughts/:id** - Delete a thought by ID.\n\n### **Reaction and Friend Routes**\n\n- **POST /api/thoughts/:thoughtId/reactions** - Add a reaction to a thought.\n- **DELETE /api/thoughts/:thoughtId/reactions/:reactionId** - Remove a reaction from a thought.\n- **POST /api/users/:userId/friends/:friendId** - Add a friend to a user's friend list.\n- **DELETE /api/users/:userId/friends/:friendId** - Remove a friend from a user's friend list.\n\n---\n\n## Technologies Used\n\n- **Node.js**: Runtime environment for building the server.\n- **Express.js**: Framework for routing and middleware.\n- **MongoDB**: NoSQL database for unstructured data storage.\n- **Mongoose**: Object Data Modeling (ODM) library for MongoDB.\n- **dotenv**: For environment variable management.\n- **Insomnia**: API testing and debugging tool.\n\n---\n\n## Summary\n\nThe Social Network API provides a powerful and flexible backend solution for social media applications. It supports user and thought management, reactions, and friendships, all built on a scalable NoSQL database architecture. This project serves as a robust foundation for any modern social network platform.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBrockAltug%2Fnosql-social-network-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBrockAltug%2Fnosql-social-network-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBrockAltug%2Fnosql-social-network-api/lists"}