{"id":18207600,"url":"https://github.com/alexandrbig1/harmony-hub-backend","last_synced_at":"2025-04-10T09:11:28.800Z","repository":{"id":259502715,"uuid":"878054863","full_name":"Alexandrbig1/harmony-hub-backend","owner":"Alexandrbig1","description":"A robust API for user authentication and personalized music playlist generation based on emotional states. Built with Node.js, Express.js, and MongoDB, this project provides user registration, login, and playlist management features. Developed as part of Hackathon 2024, focusing on innovative solutions in music technology.","archived":false,"fork":false,"pushed_at":"2024-11-05T21:15:31.000Z","size":100,"stargazers_count":1,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T13:48:42.473Z","etag":null,"topics":["api","api-rest","authentication","backend","backend-api","backend-service","expressjs","fullstack","fullstack-development","javascript","js","mongodb","mongoose","nodejs","restful-api","user-management","webdevelopment"],"latest_commit_sha":null,"homepage":"https://harmony-hub-live.netlify.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Alexandrbig1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-10-24T17:42:45.000Z","updated_at":"2024-11-05T21:15:35.000Z","dependencies_parsed_at":"2024-10-26T02:56:29.080Z","dependency_job_id":"f9ef1e74-89c0-429d-a46b-1cfbb7b96bc8","html_url":"https://github.com/Alexandrbig1/harmony-hub-backend","commit_stats":null,"previous_names":["alexandrbig1/harmony-hub-backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fharmony-hub-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fharmony-hub-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fharmony-hub-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fharmony-hub-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alexandrbig1","download_url":"https://codeload.github.com/Alexandrbig1/harmony-hub-backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248190506,"owners_count":21062284,"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","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":["api","api-rest","authentication","backend","backend-api","backend-service","expressjs","fullstack","fullstack-development","javascript","js","mongodb","mongoose","nodejs","restful-api","user-management","webdevelopment"],"created_at":"2024-11-03T13:03:38.642Z","updated_at":"2025-04-10T09:11:28.775Z","avatar_url":"https://github.com/Alexandrbig1.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Harmony Hub Backend\n\n\u003cimg align=\"right\" src=\"https://media.giphy.com/media/du3J3cXyzhj75IOgvA/giphy.gif\" width=\"100\"/\u003e\n\nWelcome to the backend repository of **Harmony Hub**! This project aims to provide an enriching online platform that helps users generate personalized music playlists based on their emotional state. The backend is designed to facilitate user registration, login, and playlist generation tailored specifically to individual preferences. This project was created as a participation in **Hackathon 2024**.\n\n[![GitHub last commit](https://img.shields.io/github/last-commit/Alexandrbig1/italiya-backend)](https://github.com/Alexandrbig1/italiya-backend/commits/main)\n[![GitHub license](https://img.shields.io/github/license/Alexandrbig1/italiya-backend)](https://github.com/Alexandrbig1/italiya-backend/blob/main/LICENSE)\n[![Node.js Version](https://img.shields.io/badge/Node.js-v18.18.0-2B8B27)](https://nodejs.org/)\n[![Express.js Version](https://img.shields.io/badge/Express.js-v4.18.2-000000)](https://expressjs.com/)\n[![MongoDB](https://img.shields.io/badge/MongoDB-v6.3.0-3B9539)](https://www.mongodb.com/)\n[![Mongoose Version](https://img.shields.io/badge/Mongoose-v8.0.3-6B0002)](https://mongoosejs.com/)\n[![JWT](https://img.shields.io/badge/JSON%20Web%20Token-v9.0.2-000000)](https://jwt.io/)\n[![Express Rate Limit](https://img.shields.io/badge/Express%20Rate%20Limit-7.4.1-000000)](https://github.com/nfriedly/express-rate-limit)\n\n---\n\n## Live Demo\n\n[Live Demo](https://harmony-hub-live.netlify.app)\n\n## FrontEnd Repository\n\n[FrontEnd](https://github.com/Alexandrbig1/harmony-hub)\n\n## Backend APIs with Swagger Documentation\n\n[Swagger](https://harmony-hub-backend.onrender.com/api-docs)\n\n---\n\n## Description\n\nThe Harmony Hub backend provides a robust API for user authentication and personalized music generation. Users can register and log in to their accounts, enabling them to generate playlists that reflect their emotional states and musical preferences. This project is built as part of the **Hackathon 2024**, emphasizing innovative solutions for enhancing the music experience.\n\nThis project aims to provide an enriching online platform that helps users generate personalized music playlists based on their emotional state. The backend is designed to facilitate user registration, login, and playlist generation tailored specifically to individual preferences. This project was created as a participation in **Hackathon 2024**, emphasizing innovative solutions for enhancing the music experience.\n\nThe Harmony Hub backend provides a robust API for user authentication and personalized music generation. Users can register and log in to their accounts, enabling them to generate playlists that reflect their emotional states and musical preferences. This project is built as part of the **Hackathon 2024 Cyber Jam**, an immersive hackathon taking place from October 19th to October 27th at Chicago's global innovation hub, 1871. Teams of 5 (we call them Jammers) will work together on phygital experiences combining art, technology, and innovation across five thematic tracks:\n\n- AI\n- Fashion\n- Governance\n- Sports/Gaming\n- Security \u0026 Privacy\n\n---\n\n## Technologies Used\n\n- ![Node.js](https://img.shields.io/badge/Node.js-339933.svg?style=for-the-badge\u0026logo=nodedotjs\u0026logoColor=white): A JavaScript runtime for server-side programming.\n- ![Express.js](https://img.shields.io/badge/Express-000000.svg?style=for-the-badge\u0026logo=Express\u0026logoColor=white): A web framework for building RESTful APIs.\n- ![MongoDB](https://img.shields.io/badge/MongoDB-47A248.svg?style=for-the-badge\u0026logo=mongodb\u0026logoColor=white): A NoSQL database for data storage.\n- ![Mongoose](https://img.shields.io/badge/Mongoose-880000.svg?style=for-the-badge\u0026logo=mongoose\u0026logoColor=white): An ODM library for MongoDB and Node.js.\n- ![JSON Web Token](https://img.shields.io/badge/JSON%20Web%20Tokens-000000.svg?style=for-the-badge\u0026logo=JSON-Web-Tokens\u0026logoColor=white): For user authentication.\n- ![Express Rate Limit](https://img.shields.io/badge/Express%20Rate%20Limit-7.4.1-000000): Middleware to limit repeated requests to public APIs.\n- **Cors:** Middleware for handling Cross-Origin Resource Sharing.\n- **Morgan:** HTTP request logger middleware for Express.js.\n- **bcrypt:** For password hashing.\n- **dotenv:** For environment variable management.\n- **Joi:** For input validation.\n- **UUID:** For generating unique IDs.\n- ![JSON](https://img.shields.io/badge/JSON-000000.svg?style=for-the-badge\u0026logo=JSON\u0026logoColor=white): Data interchange format used in the project.\n\n---\n\n## Table of Contents\n\n- [Features](#features)\n- [Technologies Used](#technologies-used)\n- [License](#license)\n\n---\n\n## Issues\n\nIf you encounter any issues or have suggestions, please\n[open an issue](https://github.com/Alexandrbig1/harmony-hub-backend/issues).\n\n---\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n## Feedback\n\nI welcome feedback and suggestions to improve the application's functionality and user experience.\n\n---\n\n## Languages and Tools\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://www.javascript.com/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/javascript-original.svg\" alt=\"JavaScript\" height=\"50\" /\u003e\u003c/a\u003e\u003ca href=\"https://nodejs.org/en/\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/danielcranney/readme-generator/main/public/icons/skills/nodejs-colored.svg\" width=\"36\" height=\"36\" alt=\"NodeJS\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.mongodb.com/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/mongodb-original-wordmark.svg\" alt=\"MongoDB\" height=\"50\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://expressjs.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/danielcranney/readme-generator/main/public/icons/skills/express-colored.svg\" width=\"36\" height=\"36\" alt=\"Express\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://vitejs.dev/\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/danielcranney/readme-generator/main/public/icons/skills/vite-colored.svg\" width=\"36\" height=\"36\" alt=\"Vite\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://git-scm.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e\n\u003cimg src=\"https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg\" alt=\"git\" width=\"40\" height=\"40\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://postman.com\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg src=\"https://www.vectorlogo.zone/logos/getpostman/getpostman-icon.svg\" alt=\"postman\" width=\"40\" height=\"40\"/\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n---\n\n## Connect with me:\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://linkedin.com/in/alex-smagin29\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/linkedin-%231E77B5.svg?\u0026style=for-the-badge\u0026logo=linkedin\u0026logoColor=white alt=linkedin style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.youtube.com/@AlexSmaginDev\" target=\"_blank\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/youtube-%23FF0000.svg?\u0026style=for-the-badge\u0026logo=youtube\u0026logoColor=white\" alt=\"YouTube\" style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://discord.gg/t6MGsCqdFX\" target=\"_blank\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/discord-%237289DA.svg?\u0026style=for-the-badge\u0026logo=discord\u0026logoColor=white\" alt=\"Discord\" style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://stackoverflow.com/users/22484161/alex-smagin\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/stackoverflow-%23F28032.svg?\u0026style=for-the-badge\u0026logo=stackoverflow\u0026logoColor=white alt=stackoverflow style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://dribbble.com/Alexandrbig1\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/dribbble-%23E45285.svg?\u0026style=for-the-badge\u0026logo=dribbble\u0026logoColor=white alt=dribbble style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.behance.net/a1126\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/behance-%23191919.svg?\u0026style=for-the-badge\u0026logo=behance\u0026logoColor=white alt=behance style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.upwork.com/freelancers/~0117da9f9f588056d2\" target=\"_blank\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/upwork-%230077B5.svg?\u0026style=for-the-badge\u0026logo=upwork\u0026logoColor=white\u0026color=%23167B02\" alt=\"Upwork\" style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrbig1%2Fharmony-hub-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexandrbig1%2Fharmony-hub-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrbig1%2Fharmony-hub-backend/lists"}