{"id":21884726,"url":"https://github.com/khalil-codes/goals-mern-app","last_synced_at":"2026-04-07T16:32:11.945Z","repository":{"id":210400525,"uuid":"463520662","full_name":"Khalil-codes/goals-mern-app","owner":"Khalil-codes","description":"Goalsy is a Full Stack App. The Frontend is built using React, Redux and Redux Toolkit. The Backend is built using Node, Express and MongoDB. I've used jsonwebtoken to generate JWT and bcryptjs to hash password in backend. Only Authenticated user is authorized to Add Goal, Delete Goal, View Goals and Update Goal.","archived":false,"fork":false,"pushed_at":"2022-03-02T04:44:35.000Z","size":730,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-25T21:09:32.457Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/Khalil-codes.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}},"created_at":"2022-02-25T12:16:36.000Z","updated_at":"2022-03-02T04:24:57.000Z","dependencies_parsed_at":"2023-12-02T14:49:42.280Z","dependency_job_id":null,"html_url":"https://github.com/Khalil-codes/goals-mern-app","commit_stats":null,"previous_names":["khalil-codes/goals-mern-app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Khalil-codes/goals-mern-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khalil-codes%2Fgoals-mern-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khalil-codes%2Fgoals-mern-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khalil-codes%2Fgoals-mern-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khalil-codes%2Fgoals-mern-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Khalil-codes","download_url":"https://codeload.github.com/Khalil-codes/goals-mern-app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Khalil-codes%2Fgoals-mern-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31520493,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":[],"created_at":"2024-11-28T10:15:41.988Z","updated_at":"2026-04-07T16:32:11.924Z","avatar_url":"https://github.com/Khalil-codes.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Getting Started with App\n\nGoalsy is a Full Stack App. The Frontend is built using React, Redux and Redux Toolkit. The Backend is built using Node, Express and MongoDB. I've used jsonwebtoken to generate JWT and bcryptjs to hash password in backend. Only Authenticated user is authorized to Add Goal, Delete Goal, View Goals and Update Goal.\n\n## API Endpoints\n\n### User Authentication\n\n1. Register a new user - POST [http://localhost:5000/api/users](http://localhost:5000/api/users)\n\n| Headers      |                  |\n| ------------ | :--------------: |\n| Content-Type | application/json |\n\nBody\n\n```json\n{\n    \"name\": \"Khalil Patiwala\",\n    \"email\": \"khalil@gmail.com\",\n    \"password\": \"password\"\n}\n```\n\n2. Login a user - POST [http://localhost:5000/api/users/login](http://localhost:5000/api/users/login)\n\n| Headers      |                  |\n| ------------ | :--------------: |\n| Content-Type | application/json |\n\nBody\n\n```json\n{\n    \"email\": \"khalil@gmail.com\",\n    \"password\": \"password\"\n}\n```\n\n3. Get Logged in user - GET [http://localhost:5000/api/users/me](http://localhost:5000/api/users/me)\n\n| Headers       |                    |\n| ------------- | :----------------: |\n| Content-Type  |  application/json  |\n| Authorization | Bearer \u003cJWT_TOKEN\u003e |\n\n### Goals Routes\n\n1. Get users goals - GET [http://localhost:5000/api/goals](http://localhost:5000/api/goals)\n\n| Headers       |                    |\n| ------------- | :----------------: |\n| Content-Type  |  application/json  |\n| Authorization | Bearer \u003cJWT_TOKEN\u003e |\n\n2. Create a new Goal - POST [http://localhost:5000/api/goals](http://localhost:5000/api/goals)\n\n| Headers       |                    |\n| ------------- | :----------------: |\n| Content-Type  |  application/json  |\n| Authorization | Bearer \u003cJWT_TOKEN\u003e |\n\nBody\n\n```json\n{\n    \"text\": \"Demo Goal Text\"\n}\n```\n\n2. Update a Goal - PATCH [http://localhost:5000/api/goals/\u003c:id\u003e](http://localhost:5000/api/goals/\u003c:id\u003e)\n\n| Headers       |                    |\n| ------------- | :----------------: |\n| Content-Type  |  application/json  |\n| Authorization | Bearer \u003cJWT_TOKEN\u003e |\n\nBody\n\n```json\n{\n    \"text\": \"Updated Goal Text\"\n}\n```\n\n2. Delete a Goal - DELETE [http://localhost:5000/api/goals/\u003c:id\u003e](http://localhost:5000/api/goals/\u003c:id\u003e)\n\n| Headers       |                    |\n| ------------- | :----------------: |\n| Content-Type  |  application/json  |\n| Authorization | Bearer \u003cJWT_TOKEN\u003e |\n\n## Usage\n\nInstall dependencies\n\n```bash\nnpm install\ncd frontend\nnpm install\n```\n\nRun app:\n\n### `npm start server`\n\nThis will start the backend API at [http://localhost:5000/api/\u003cendpoint\u003e](http://localhost:5000/api/\u003cendpoint\u003e).\n\n### `npm start client`\n\nThis will start the frontend at [http://localhost:3000](http://localhost:3000).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhalil-codes%2Fgoals-mern-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhalil-codes%2Fgoals-mern-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhalil-codes%2Fgoals-mern-app/lists"}