{"id":30516247,"url":"https://github.com/maxviiiy/nexify-backend","last_synced_at":"2025-08-26T09:39:50.545Z","repository":{"id":249205443,"uuid":"830577433","full_name":"maxviiiy/Nexify-Backend","owner":"maxviiiy","description":"Nexify is a real-time chat application that allows users to create profiles, chat with each other, form groups, and send chat invites. This repository contains the backend code for Nexify, built using Node.js, Express.js, and MongoDB.","archived":false,"fork":false,"pushed_at":"2025-06-27T09:41:01.000Z","size":346,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-30T11:00:52.124Z","etag":null,"topics":["backend","expressjs","realtime-chat","showcase"],"latest_commit_sha":null,"homepage":"","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/maxviiiy.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":"2024-07-18T14:36:11.000Z","updated_at":"2025-06-27T09:41:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"a729d518-c8c7-48c0-9f35-5f96908d70da","html_url":"https://github.com/maxviiiy/Nexify-Backend","commit_stats":null,"previous_names":["maryqu3en/nexify-backend","maxviiiy/nexify-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/maxviiiy/Nexify-Backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxviiiy%2FNexify-Backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxviiiy%2FNexify-Backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxviiiy%2FNexify-Backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxviiiy%2FNexify-Backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxviiiy","download_url":"https://codeload.github.com/maxviiiy/Nexify-Backend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxviiiy%2FNexify-Backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272206814,"owners_count":24891951,"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-08-26T02:00:07.904Z","response_time":60,"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":["backend","expressjs","realtime-chat","showcase"],"created_at":"2025-08-26T09:39:49.103Z","updated_at":"2025-08-26T09:39:50.531Z","avatar_url":"https://github.com/maxviiiy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nexify - Backend\nThis is the backend of the Nexify project. It is a RESTful API that provides the necessary endpoints for the frontend to interact with the database.\n\n## Project overview\nNexify is a real-time chat application that allows users to create profiles, chat with each other, form groups, and send chat invites. This repository contains the backend code for Nexify, built using Node.js, Express.js, and MongoDB.\n\n## Features\n- User authentication and authorization using JWT\n- Real-time messaging with Socket.IO\n- User and chat room management\n- API documentation with Swagger\n\n## Technologies\n- Node.js\n- Express.js\n- MongoDB\n- Mongoose\n- Socket.IO\n- JWT\n- bcrypt.js\n- express-validator\n- Swagger\n\n## Database design\n\n![Database Entity Diagram](./assets/Nexify-ERD.png)\n\n## Design Pattern Architecture\n- MVC Architecture (Model View Controller)\n\n```\n.\n├── assets\n├── config\n│   └── mongodb.js\n├── controllers\n│   ├── auth.controllers.js\n│   ├── chat.controllers.js\n│   ├── message.controllers.js\n│   └── user.controllers.js\n├── docs\n│   └── swagger.js\n├── helpers\n│   ├── bcrypt.helpers.js\n│   ├── jwt.helpers.js\n│   └── socket.helpers.js\n├── middleware\n│   ├── auth.middleware.js\n│   └── validateFields.js\n├── models\n│   ├── chatroom.model.js\n│   ├── message.model.js\n│   ├── token.model.js\n│   └── user.model.js\n├── routes\n│   ├── auth.routes.js\n│   ├── chat.routes.js\n│   ├── message.routes.js\n│   └── user.routes.js\n├── .env\n├── server.js\n├── package.json\n└── README.md\n```\n\n## Installation\n1. Clone the repository\n```\ngit clone https://github.com/maryqu3en/Nexify-Backend.git\ncd Nexify-Backend\n```\n2. Run `npm install` to install all dependencies\n3. Create a `.env` file and add the following environment variables:\n```\nPORT=3000\nJWT_SECRET=\u003cyour-jwt-secret\u003e\nMONGODB_URI=\u003cyour mongodb uri\u003e\n```\n4. Run `npm start` to start the server\n5. Visit `http://localhost:3000/api-docs` to view the Swagger documentation\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxviiiy%2Fnexify-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxviiiy%2Fnexify-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxviiiy%2Fnexify-backend/lists"}