{"id":20572801,"url":"https://github.com/mouni2619/reactmarkdown-be","last_synced_at":"2026-04-22T13:31:05.454Z","repository":{"id":231658932,"uuid":"782016125","full_name":"mouni2619/ReactMarkdown-BE","owner":"mouni2619","description":"The ReactMarkdown backend manages user authentication, project creation, and data storage, offering RESTful API endpoints for user actions and project management. It ensures data integrity, security, and user-specific access controls, providing a robust infrastructure for the application.","archived":false,"fork":false,"pushed_at":"2024-04-05T07:56:19.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T10:24:52.574Z","etag":null,"topics":["bycrypt","cors","dotenv","express","mongodb-atlas","nodemailer","nodemon"],"latest_commit_sha":null,"homepage":"https://be-rm.onrender.com","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/mouni2619.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-04-04T13:30:27.000Z","updated_at":"2024-04-05T07:48:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"ba7bfd9d-707c-4b49-a3cb-42888588aec0","html_url":"https://github.com/mouni2619/ReactMarkdown-BE","commit_stats":null,"previous_names":["mouni2619/be-rm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mouni2619/ReactMarkdown-BE","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouni2619%2FReactMarkdown-BE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouni2619%2FReactMarkdown-BE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouni2619%2FReactMarkdown-BE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouni2619%2FReactMarkdown-BE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mouni2619","download_url":"https://codeload.github.com/mouni2619/ReactMarkdown-BE/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mouni2619%2FReactMarkdown-BE/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32139058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T13:27:12.868Z","status":"ssl_error","status_checked_at":"2026-04-22T13:26:44.791Z","response_time":58,"last_error":"SSL_read: 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":["bycrypt","cors","dotenv","express","mongodb-atlas","nodemailer","nodemon"],"created_at":"2024-11-16T05:23:59.486Z","updated_at":"2026-04-22T13:31:05.411Z","avatar_url":"https://github.com/mouni2619.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## ReactMarkdown Backend\nThe backend of the ReactMarkdown project is responsible for managing user authentication, project creation, and storage of project details.\nIt provides RESTful API endpoints for user registration, login, password reset, and CRUD operations for projects.\nThe backend ensures data integrity and security by implementing validation and authentication mechanisms. \nAdditionally, the backend manages user sessions and permissions, ensuring that users can only access and modify their own projects.\nOverall, the backend plays a crucial role in providing a robust and secure backend infrastructure for the ReactMarkdown application.\n\n## Installation\n- Clone the repository\n- Install dependencies\n  - cd reactmarkdown-backend\n  - npm install\n- Set up environment variables\n- Create a .env file in the root directory and add the BASE-URL, PORT, MONGODB-URL\n- Start the server\n  - npm start\n\n## API Endpoints\n- User Registration\n\n  **POST /register:** *Registers a new user with a username, email, and password. Checks if the email already exists in the database and \n  generates a hashed password before creating the user.*\n\n- User Login\n\n  **POST /login:** *Logs in a user with an email and password. Validates the credentials, generates a JWT token for authentication, and \n  sends it back to the client upon successful login.*\n\n- Password Reset\n  \n  **POST /forgot:** *Handles the request for resetting a forgotten password. Finds the user by email, generates a password reset token, and \n  sends an email with a password reset link that expires after 10 minutes.*\n  \n  **POST /passwordReset:** *Resets the user's password. Uses the password reset token to verify the request and updates the user's password \n  in the database with the new hashed password.*\n\n- Create a New Player\n\n  **POST /players:** *Creates a new player. Requires authentication (auth middleware).*\n\n- Get Players\n\n  **GET /players/markdown/:id:** *Retrieves players using the getPlayers service method. Requires authentication.*\n \n- Get Projects by Email\n\n  **GET /players/projects/:email:** *Retrieves projects for a specific email address. Requires authentication.*\n \n- Get Player by ID\n\n  **GET /players/:id:** *Retrieves a single player by ID. Requires authentication.*\n \n- Update Player by ID\n\n  **PUT /players/:id:** *Updates a player by ID.Requires authentication.*\n \n- Delete Player by ID\n\n  **DELETE /players/:id:** *Deletes a player by ID.Requires authentication.*\n## Technologies Used\n- Node.js\n- Express\n- MongoDB\n- Bcrypt\n- JWT\n- Nodemailer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmouni2619%2Freactmarkdown-be","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmouni2619%2Freactmarkdown-be","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmouni2619%2Freactmarkdown-be/lists"}