{"id":25664762,"url":"https://github.com/syscall97/bloodonate","last_synced_at":"2026-06-22T09:32:10.054Z","repository":{"id":128268291,"uuid":"356944293","full_name":"SysCall97/BlooDonate","owner":"SysCall97","description":null,"archived":false,"fork":false,"pushed_at":"2021-04-12T19:10:06.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-24T06:35:41.271Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/SysCall97.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":"2021-04-11T18:14:08.000Z","updated_at":"2021-04-12T19:10:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"628854c9-ee2c-476b-940a-47fc8f72bcfc","html_url":"https://github.com/SysCall97/BlooDonate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SysCall97/BlooDonate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SysCall97%2FBlooDonate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SysCall97%2FBlooDonate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SysCall97%2FBlooDonate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SysCall97%2FBlooDonate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SysCall97","download_url":"https://codeload.github.com/SysCall97/BlooDonate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SysCall97%2FBlooDonate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34643612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"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":[],"created_at":"2025-02-24T06:29:48.424Z","updated_at":"2026-06-22T09:32:10.049Z","avatar_url":"https://github.com/SysCall97.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BlooDonate\n\n## Installation\n```bash\ngit clone https://github.com/kaziMashry/BlooDonate.git\nnpm install\nnpm start\n```\n## Setup\n - Add .env file\n - Add these variables into .env file:\n    - URI(mongoDb uri)\n    - PORT\n    - JWT_EXPIRE_MINUTE\n    - JWT_SECRET\n\n## What is BlooDonate repository?\nBlooDonate repository contains the BE code. Basically here I created some API by which one can regiseter as a blood donor by signing in. On the other hand, one can find-\n 1. all the blood donors of a certain area(of any blood group), \n 2. all the blood doner of a particular blood group(of any area), \n 3. all the blood donor of a certain area with a particular blood group\n\n## Technology used\n - Node Js\n - Express Js\n - MongoDB\n - Mongoose\n - JWT\n\n## Authentication\nThere is not much use of authentication in this app. Only one route is protected/authorized. I have developed a custom authentication system with JWT token. Here you'll be given a JWT token and all your requests will be take place based on that token. As soon as you logged out from the application, the token will be blacklisted and no one can use that ever again.\n\n## API list\n 1. /user/signin (POST) \u003cbr /\u003e\n    This route is to signin as an user. \n    ```bash\n    reqBody = {\n        \"name\": \u003cname\u003e,\n        \"email\": \u003cemail\u003e,\n        \"password\": \u003cpassword\u003e\n    }\n    ```\n 2. /user/login (GET) \u003cbr /\u003e\n    This route is to login as an user. \n    ```bash\n    reqBody = {\n        \"email\": \u003cemail\u003e,\n        \"password\": \u003cpassword\u003e\n    }\n    ```\n 3. /user/logout (POST) \u003cbr /\u003e\n    This route is to logout as an user.\n 4. /donor/register (POST) \u003cbr /\u003e\n    This route is to register as a blood donor. This is the only protected route where user needs to be logged in to call this API.\n    ```bash\n    reqBody = {\n        \"mobile\": \u003cmobile number\u003e,\n        \"bloodGroup\": \u003cblood group\u003e,\n        \"area\": [\u003clist of areas where (s)he is able to donate blood\u003e]\n    }\n    ```\n 5. /donor/donorArea (GET) \u003cbr /\u003e\n    This route will bring all the donor of a particular area \n    ```bash\n    reqBody = {\n        \"area\": \u003cname of the area where blood is required\u003e\n    }\n    ```\n 6. /donor/donorBloodGroup (GET) \u003cbr /\u003e\n    This route will list all the donor of a particular blood group of all regions\n    ```bash\n    reqBody = {\n        \"bloodGroup\": \u003crequired blood group\u003e\n    }\n    ```\n 7. /donor/donorBloodGroupArea (GET) \u003cbr /\u003e\n    This route will list all the donor of a particular blood group of a particular area\n    ```bash\n    reqBody = {\n        \"area\": \u003cname of the area where blood is required\u003e,\n        \"bloodGroup\": \u003crequired blood group\u003e\n    }\n    ```\n**Resume:** [https://drive.google.com/file/d/16hc-Pd4QrOeXGg8khFc2sq3RYKZD833D/view]","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyscall97%2Fbloodonate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyscall97%2Fbloodonate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyscall97%2Fbloodonate/lists"}