{"id":20753894,"url":"https://github.com/shivabhattacharjee/muxik-backend","last_synced_at":"2026-02-28T23:32:24.192Z","repository":{"id":178557347,"uuid":"662004957","full_name":"ShivaBhattacharjee/Muxik-backend","owner":"ShivaBhattacharjee","description":"This repo contains the backend logic for Muxik, including login, register, forget password, update profile, adding songs to history, adding liked songs, and many more functionalities.","archived":false,"fork":false,"pushed_at":"2024-01-19T22:24:46.000Z","size":314,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-23T18:08:33.348Z","etag":null,"topics":["backend-api","docker","loginapi","mongodb","nodejs"],"latest_commit_sha":null,"homepage":"https://muxik-backend.vercel.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/ShivaBhattacharjee.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,"zenodo":null}},"created_at":"2023-07-04T06:47:02.000Z","updated_at":"2025-03-15T05:43:03.000Z","dependencies_parsed_at":"2024-01-01T11:29:47.362Z","dependency_job_id":"204012ef-8977-40d2-9efc-b4564ad3bc48","html_url":"https://github.com/ShivaBhattacharjee/Muxik-backend","commit_stats":null,"previous_names":["shivabhattacharjee/muxik-backend"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ShivaBhattacharjee/Muxik-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShivaBhattacharjee%2FMuxik-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShivaBhattacharjee%2FMuxik-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShivaBhattacharjee%2FMuxik-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShivaBhattacharjee%2FMuxik-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ShivaBhattacharjee","download_url":"https://codeload.github.com/ShivaBhattacharjee/Muxik-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShivaBhattacharjee%2FMuxik-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29954970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T22:53:01.873Z","status":"ssl_error","status_checked_at":"2026-02-28T22:52:50.699Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["backend-api","docker","loginapi","mongodb","nodejs"],"created_at":"2024-11-17T09:15:08.728Z","updated_at":"2026-02-28T23:32:24.160Z","avatar_url":"https://github.com/ShivaBhattacharjee.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/ShivaBhattacharjee/Muxik\"\u003e\n    \u003cimg src=\"https://github.com/ShivaBhattacharjee/Muxik/assets/95211406/299e717b-af55-4722-a663-b9b65c90940d\" alt=\"Logo\" width=\"100px\" \u003e\n  \u003c/a\u003e\n\u003cbr/\u003e\n  \u003ch3 align=\"center\"\u003eMuxik's Backend\u003c/h3\u003e\n  \u003cp align=\"center\" \u003e\n    Backend logic for login signup and storing history/liked\n    \u003cbr/\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://github.com/ShivaBhattacharjee/Muxik-backend/issues\"\u003eReport Bug\u003c/a\u003e\n    .\n    \u003ca href=\"https://github.com/ShivaBhattacharjee/Muxik-backend/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\n\u003cdiv align=\"center\"\u003e\n\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n[![Deno](https://github.com/ShivaBhattacharjee/AnimeTrix-next/actions/workflows/deno.yml/badge.svg)](https://github.com/ShivaBhattacharjee/AnimeTrix-next/actions/workflows/deno.yml)\n![GitHub repo size](https://img.shields.io/github/repo-size/shivabhattacharjee/muxik-backend)\n![jwt](https://jwt.io/img/badge-compatible.svg)\n[![Docker Build](https://github.com/ShivaBhattacharjee/Muxik-backend/actions/workflows/docker_build.yml/badge.svg)](https://github.com/ShivaBhattacharjee/Muxik-backend/actions/workflows/docker_build.yml)\n\n\u003c/div\u003e\n\n\n\n\n\n\n\n\n## Table Of Contents\n\n- [Table Of Contents](#table-of-contents)\n- [About the Project](#about-the-project)\n- [Built With](#built-with)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n    - [Docker](#docker)\n    - [Example](#example)\n- [Routes](#routes)\n  - [Authentication](#authentication)\n    - [POST](#post)\n  - [Users / Public](#users--public)\n    - [GET](#get)\n    - [POST](#post-1)\n    - [DELETE](#delete)\n    - [PUT](#put)\n- [Dummy data](#dummy-data)\n  - [Register](#register)\n  - [Verify Register](#verify-register)\n  - [Resend Registration Email](#resend-registration-email)\n  - [Login](#login)\n  - [Reset Password](#reset-password)\n  - [Confirm Reset Password](#confirm-reset-password)\n  - [Add Liked songs](#add-liked-songs)\n  - [Delete Liked Songs](#delete-liked-songs)\n  - [Add History](#add-history)\n  - [Delete History](#delete-history)\n  - [Update user](#update-user)\n- [License](#license)\n- [Todo](#todo)\n- [Authors](#authors)\n\n\n## About the Project\nThis repo contains the backend logic for Muxik, including login, register, forget password, update profile, adding songs to history, adding liked songs, and many more functionalities.\n## Built With\n\nMuxik backend api is built using express , Mongodb , JWT and Nodemailer\n\n* [ExpressJs](http://expressjs.com/) \n* [MongoDb](https://www.mongodb.com/) \n* [JWT](https://jwt.io/) \n* [Nodemailer](https://nodemailer.com) \n\n## Getting Started\n\n### Prerequisites\n\n\u003ca href=\"https://git-scm.com/downloads\" \u003eGit\u003c/a\u003e is a distributed version control system used for software development. It allows multiple developers to work on the same codebase simultaneously, keeping track of changes and managing versions. It also enables users to revert changes and collaborate more effectively.\n\n\n\n\u003ca href=\"https://nodejs.org/en/download/\"\u003eNodeJs\u003c/a\u003e is a JavaScript runtime built on Chrome's V8 JavaScript engine. It allows developers to execute JavaScript code outside of a web browser, making it possible to create server-side applications with JavaScript. Node.js is fast, lightweight, and scalable, making it popular for building modern web applications.\n\n\u003ca href=\"https://www.thunderclient.com/\"\u003eThunder Client\u003c/a\u003e  is a lightweight Rest API client extension for VS Code\n\n### Installation\n\u003cb\u003eRename env.example to env and fill the values\u003c/b\u003e\n\u003e **⚠️ Note: MongoDb memory server can be used by changing the config inside Database.js**\n\n```sh\ngit clone https://github.com/ShivaBhattacharjee/Muxik-backend\n```\n```sh\ncd Muxik-backend\n```\n```sh\nnpm install\n```\nTo start in development mode\n\n```sh\nnpm run dev \n```\nOr\n\n```sh\nnpm start\n```\n\n#### Docker\n\n```bash\nsudo docker run -p \u003cyour-port-number\u003e:3000 \\\n-e MONGODB_URI=yourmongodburi \\\n-e JWT_SECRET=yourjwttoken \\\n-e EMAIL_ID=youremail \\\n-e EMAIL_PASSWORD=yourpassword \\\nimmashiva/muxikapi:latest\n```\n#### Example\n```bash\nsudo docker run -p 8080:3000 \\\n-e MONGODB_URI=yourmongodburi \\\n-e JWT_SECRET=yourjwttoken \\\n-e EMAIL_ID=youremail \\\n-e EMAIL_PASSWORD=yourpassword \\\nimmashiva/muxikapi:latest\n```\n\n\n## Routes\n\u003e **⚠️ Note: Bearer Token can be obtained after successfull login**\n### Authentication\n#### POST\n| Endpoint | Method |Bearer Token | \n| -------- | ----- | ----------- |\n| api/validation/register | POST   | No |  | \n| api/validation/verify-register| POST  | No |  \n| api/validation/resend-email | POST   | No | \n|api/validation/reset-password|POST |No ||\n|api/validation/confirm-reset-password|POST |No |\n|api/validation/login|POST |No ||\n\n### Users / Public\n\u003e ⚠️ Note: Routes remain the same for both liked and history requests; the method used will determine which function triggers the database queries. The queries depend on the username obtained from the bearer token.\n\n\n#### GET\n| Endpoint | Method |Bearer Token | \n| -------- | ----- | ----------- |\n|api/user/liked-songs|GET |Yes \n|api/user/history|GET |Yes |\n|api/user/user-info|GET |Yes |\n#### POST\n| Endpoint | Method |Bearer Token | \n| -------- | ----- | ----------- |\n|api/user/liked-songs|POST |Yes \n|api/user/history|POST |Yes |\n|api/user/user-info|POST |Yes |\n\n#### DELETE\n| Endpoint | Method |Bearer Token | \n| -------- | ----- | ----------- |\n|api/user/liked-songs|DELETE |Yes \n|api/user/history|DELETE |Yes |\n#### PUT\n| Endpoint | Method |Bearer Token | \n| -------- | ----- | ----------- |\n|api/user/user-info|PUT |Yes |  \n\n## Dummy data\n\n\n### Register\n```sh\n{\n \"username\" : \"user\",\n \"password\" : \"password\",\n \"email\" : \"email@gmail.com\",\n \"profile\" : \"thisIsImage\"\n}\n```\n### Verify Register\n```sh\n{\n  \"email\" : \"email@gmail.com\", \n  \"verificationCode\" : \"code\"\n}\n```\n### Resend Registration Email\n```sh\n  \"email\" : \"email@gmail.com\"\n```\n\u003e **⚠️ Note: Only users verified via otp can login**\n### Login\n\n```sh\n{\n  \"username\":\"user\",\n  \"password\" : \"password\"\n}\n```\n\n### Reset Password\n```sh\n{\n   \"email\": \"email of registered user\"\n}\n```\n\n### Confirm Reset Password\n```sh\n{\n  \"email\": \"email@gmail.com\",\n  \"otp\": \"otp\",\n  \"newPassword\": \"new password\"\n}\n```\n\n### Add Liked songs\n```sh\n{\n  \"username\": \"user\",\n  \"songId\": \"1234\",\n  \"songName\": \"test song\",\n  \"banner\": \"https://example.com/song_banner.jpg\"\n}\n```\n### Delete Liked Songs\n```sh\n{\n  \"songId\" : \"song id\"\n}\n```\n### Add History\n\n```sh\n{\n  \"username\": \"user\",\n  \"songId\" : \"1234\", \n  \"songName\" : \"test song\", \n  \"banner\" : \"https://example.com/song_banner.jpg\"\n}\n```\n### Delete History\n\n```sh\n{\n  \"songId\" : \"song id\"\n}\n```\n### Update user\n```sh\n{\n  \"username\" : \"new username\"\n  \"profile\" : \"new profile\"\n}\n```\n## License\n\nDistributed under MIT License . See [LICENSE](https://github.com/ShivaBhattacharjee/Muxik-backend/blob/main/LICENSE) for more information.\n\n\n## Todo\n- ✅ Register and verify \n- ✅ OTP Resend\n- ✅ Login \n- ✅ Get User info \n- ✅ Update user profile\n- ✅ Reset Password \n- ✅ custom email for register account and reset passowrd \n- ✅ Verify Reset password\n- ✅ Liked Songs\n- ✅ History\n- ❌ Custom Playlists\n- ✅ Code Refactoring\n## Authors\n\n* **Shiva Bhattacharjee** - [Shiva Bhattacharjee](https://github.com/ShivaBhattacharjee) \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshivabhattacharjee%2Fmuxik-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshivabhattacharjee%2Fmuxik-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshivabhattacharjee%2Fmuxik-backend/lists"}