{"id":22556367,"url":"https://github.com/elisenda-lv/matchday-backend","last_synced_at":"2025-09-14T21:18:17.374Z","repository":{"id":221512425,"uuid":"754349743","full_name":"Elisenda-LV/matchday-backend","owner":"Elisenda-LV","description":"This REST API, developed with Node.js, Express, and Sequelize to connect to  MariaDB, includes user auth features such as register, login, forgot password, change password and logout.","archived":false,"fork":false,"pushed_at":"2024-10-14T08:51:19.000Z","size":9980,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-27T15:06:07.874Z","etag":null,"topics":["api","backend","mysql","nodejs"],"latest_commit_sha":null,"homepage":"https://matchday-backend.vercel.app","language":"TypeScript","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/Elisenda-LV.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-02-07T21:50:59.000Z","updated_at":"2024-10-14T08:51:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"a8e9094a-eac4-43a1-a724-2798c99bf7c8","html_url":"https://github.com/Elisenda-LV/matchday-backend","commit_stats":null,"previous_names":["elisenda-lv/matchday-backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Elisenda-LV/matchday-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Elisenda-LV%2Fmatchday-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Elisenda-LV%2Fmatchday-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Elisenda-LV%2Fmatchday-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Elisenda-LV%2Fmatchday-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Elisenda-LV","download_url":"https://codeload.github.com/Elisenda-LV/matchday-backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Elisenda-LV%2Fmatchday-backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275168718,"owners_count":25417182,"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-14T02:00:10.474Z","response_time":75,"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":["api","backend","mysql","nodejs"],"created_at":"2024-12-07T19:12:14.734Z","updated_at":"2025-09-14T21:18:17.352Z","avatar_url":"https://github.com/Elisenda-LV.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Matchday - Backend\n\nMatchday is an app designed to manage leagues, tournaments, and teams for players of all sports.\n\nThis REST API, developed with Node.js, Express, and Sequelize to connect to a MariaDB database, includes user authentication features such as register, login, forgot password, change password and log out.\n\n\n### 📌 Install and Run\n\nTo install this project, follow these steps:\n\n1. Clone the repository to your local machine: https://github.com/Elisenda-LV/matchday-backend.git\n2. Install dependencies using npm install.\n3. Download the file: matchday.sql.\n4. The server will be available at http://localhost:3003 by default.\n\nTo run the project, use the following command:\n\n```\nnpm start\n\n```\n\n### 📌 Project Estructure\n\nThe project structure follows a modular design to facilitate scalability and maintenance. Below, the main folders and files are described:\n```\n/src (Source):\n- /config: Project configurations.\n- /controllers: Business logic controllers.\n- /middlewares: Custom middleware.\n- /models: Data model definitions.\n- /routes: Definition of routes and associated controllers.\n- /utils: Utilities and auxiliary functions.\n- /validations: Used to ensure the integrity and consistency of data in an application.\n```\n\n### 📌 Endpoints\n\n#### To Authenticate Users:\n\n- POST /auth/register : User registration.\n- POST /auth/login : User login.\n- POST /auth/forgot-password : User forgot password.\n- POST /auth/change-password : User change password.\n- POST /auth/logout : User logout.\n\n\n#### Users\n\n- GET /users/:id : Show users by ID.\n\n*Note: Replace :id with the corresponding users ID.*\n\n\n#### Leagues\n\n- GET /leagues : Show all leagues.\n- GET /leagues/:id : Show a league by ID.\n- POST /leagues : Add a new league.\n- PUT /leagues/:id : Update a league.\n- DELETE /leagues/:id : Deleate a league.\n\n*Note: Replace :id with the corresponding league ID.*\n\n\n#### Teams\n\n- GET /teams : Show all teams.\n- GET /teams/:id : Show a team by ID.\n- POST /teams : Add a new team.\n- PUT /teams/:id : Update a team.\n- DELETE /teams/:id : Deleate a team.\n\n*Note: Replace :id with the corresponding team ID.*\n\n\n#### Players\n\n- GET /players : Show all players.\n- GET /players/:id : Show a player by ID.\n- POST /teams : Add a new player.\n- PUT /teams/:id : Update a player.\n- DELETE /teams/:id : Deleate a player.\n\n*Note: Replace :id with the corresponding player ID.*\n\n\n#### Sports\n\n- GET /sports : Show all sports.\n\n\n### 📌 Error Handling\n\nMatchday incorporates a consistent error-handling system to deliver clear and meaningful responses. Below, you will find descriptions of common HTTP status codes along with examples of responses:\n\n#### Client Errors:\n\n**400 (Bad Request)** \nDescription: The request could not be processed due to incorrect syntax or invalid parameters.\nExample response:\n\n```\n{\n  \"error\": \"Bad Request\",\n  \"message\": \"Invalid parameters in the request.\"\n}\n\n```\n\n#### Server Errors \n\n**500 Internal Server Error**\nDescription: Generic server error when the exact cause cannot be determined.\nExample response:\n\n```\n{\n  \"error\": \"Internal Server Error\",\n  \"message\": \"An unexpected error occurred on the server.\"\n}\n\n```\n\n\n### 📌 Contributions\n\nThank you for considering contributing to the project! If you wish to contribute, follow these steps:\n\n**1. Fork the Project:**\nFork the project using the \"Fork\" button at the top right of the page.\n\n**2. Clone Your Forked Repository:**\nClone the repository to your local machine with the command:\n\n```\ngit clone https://github.com/Elisenda-LV/matchday-backend.git\n\n```\n\n**3. Create a Branch:**\nCreate a branch for your contribution:\n\n```\ngit checkout -b your-branch-name\n\n```\n\n**4. Make Changes:**\nMake the necessary changes in your branch.\n\n**5. Commit Changes:**\nCommit changes with descriptive messages:\n\n```\ngit commit -m \"Description of the changes\"\n\n```\n\n**6. Push Your Changes:**\nPush your changes to your repository:\n\n```\ngit push origin your-branch-name\n\n```\n\n**7. Open a Pull Request (PR):**\nOpen a PR from your branch to the project's main branch.\nProvide a clear and detailed description of your changes.\n\n**8. Code Review:**\nProposed changes will be reviewed and discussed before merging.\n\n\n#### Contribution Guidelines:\n\n- Clearly describe the purpose of your contribution.\n- Follow the coding style and project guidelines.\n- Ensure your changes do not break existing functionalities.\n- Document any significant change in the README or relevant documentation.\n\n\n**Thank you for your contribution!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felisenda-lv%2Fmatchday-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felisenda-lv%2Fmatchday-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felisenda-lv%2Fmatchday-backend/lists"}