{"id":18601209,"url":"https://github.com/cobbyelsonfx/workout-tracker","last_synced_at":"2026-04-08T20:03:32.578Z","repository":{"id":153626506,"uuid":"627922025","full_name":"CobbyElsonfx/Workout-Tracker","owner":"CobbyElsonfx","description":"This is  a Single Page Application (SPA) that enables users to track their daily workouts, it also uses JWT for user authentication  ","archived":false,"fork":false,"pushed_at":"2023-09-16T13:51:13.000Z","size":4634,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-16T17:14:02.252Z","etag":null,"topics":["expressjs","nodejs","reactjs","routes","tailwindcss","usecontext-hook","usereducer"],"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/CobbyElsonfx.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,"zenodo":null}},"created_at":"2023-04-14T13:50:08.000Z","updated_at":"2023-09-16T13:54:59.000Z","dependencies_parsed_at":"2025-05-16T17:24:21.713Z","dependency_job_id":null,"html_url":"https://github.com/CobbyElsonfx/Workout-Tracker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CobbyElsonfx/Workout-Tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CobbyElsonfx%2FWorkout-Tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CobbyElsonfx%2FWorkout-Tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CobbyElsonfx%2FWorkout-Tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CobbyElsonfx%2FWorkout-Tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CobbyElsonfx","download_url":"https://codeload.github.com/CobbyElsonfx/Workout-Tracker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CobbyElsonfx%2FWorkout-Tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31571601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"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":["expressjs","nodejs","reactjs","routes","tailwindcss","usecontext-hook","usereducer"],"created_at":"2024-11-07T02:07:33.560Z","updated_at":"2026-04-08T20:03:32.570Z","avatar_url":"https://github.com/CobbyElsonfx.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cdiv align=\"center\"\u003e\n  \u003ch3\u003e\u003cb\u003eWorkout Tracker\u003c/b\u003e\u003c/h3\u003e\n\u003c/div\u003e\n\n# 📗 Table of Contents\n\n- [📖 About the Project](#about-project)\n  - [🛠 Built With](#built-with)\n    - [Tech Stack](#tech-stack)\n    - [Key Features](#key-features)\n  - [🚀 Live Demo](#live-demo)\n- [💻 Getting Started](#getting-started)\n  - [Challenges](#challenges)\n  - [Prerequisites](#prerequisites)\n  - [Setup](#setup)\n  - [Install](#install)\n- [👥 Authors](#authors)\n- [🔭 Future Features](#future-features)\n- [🤝 Contributing](#contributing)\n- [⭐️ Show your support](#support)\n- [🙏 Acknowledgements](#acknowledgements)\n- [❓ FAQ (OPTIONAL)](#faq)\n- [📝 License](#license)\n\n\n# 📖Workout Tracker \u003ca name=\"about-project\"\u003e\u003c/a\u003e\n\n**Workout Tracker** This is a MERN stack web application that allows you to track exercises you do every day. It uses Node.js and Express for the backend, and React for the frontend. The application manages the state using React's useContext and useReducer hooks and jwt for authentication..\n\n## 🛠 Built With \u003ca name=\"built-with\"\u003e\u003c/a\u003e\n\n### Tech Stack \u003ca name=\"tech-stack\"\u003e\u003c/a\u003e\n\n\u003cdetails\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/reactjs\"\u003eReact\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/CSS\"\u003eCSS\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/nodejs\"\u003eNode (javascript)\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n### Key Features \u003ca name=\"key-features\"\u003e\u003c/a\u003e\n\n- **Authentication with JWT**\n- **Users can log their exercises**\n- **Search Engine Optimization**\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🚀 Live Demo \u003ca name=\"live-demo\"\u003e\u003c/a\u003e\n\n\n- [Live Demo Link](https://exercise-tracker-frontend-e4pd.onrender.com)\n- ![Home Page](Screenshot 2023-05-23 at 4.02.58 PM 1![image](https://github.com/CobbyElsonfx/Exercise-Tracker/assets/109095646/79d1e8e8-4c51-4b27-b46a-582c1eec3b2e)\n\u003e \n\n\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 💻 Getting Started \u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n\n\n\u003e\n\n### Challenges\n \u003cp\u003eDATABASE WORKOUT SHOWCASE \u003c/p\u003e \nAfter I adding the authentication I realised that when a user logs in he sees the workout added by other users, which means every user is presented with all the workouts in the database. \n\nI accessed the user.id  from the requireAuth middleware (id was extracted from the token returned from the authorization header) in the workout controller , where  I attached it to the user object and saved it to the database. I updated the model by inlcuding a userId section so that each workout saved in the database could be retrieved using the current userId it was assigned to.\n\n\n\n###  Prerequisites\n\n\nTo successfully execute this project, the following prerequisites are required:\n\u003cul\u003e\n\u003cli\u003eCode Editor: Visual Studio\u003c/li\u003e\n\u003cli\u003eVersion Control:Git\u003c/li\u003e\n\u003cli\u003eNode js Installed\u003c/li\u003e\n\u003cli\u003eLinters configuration\u003c/li\u003e\n\u003c/ul\u003e \n\n```\nExample command: npm install to install dependent package\n               : npm install --save-dev hint@7.x to install webhint\n               :npm install -g lighthouse to install lighthouse\n\n```\n\n### Setup\n\nClone this repository to your desired folder:\n\n```sh\n  cd my-folder\n  git clone https://github.com/CobbyElsonfx/Code-Future.git\n```\n### Install\n\nInstall this project with:\n\n``` \nInstall this project with:git and npm install\n```\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 👥 Authors \u003ca name=\"authors\"\u003e\u003c/a\u003e\n\n👤 **Andoh Francis**\n\n- GitHub: [@CobbyElsonfx](https://github.com/CobbyElsonfx)\n- LinkedIn: [Andoh Francis](https://www.linkedin.com/in/andoh-francis-133aa7245/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🔭 Future Features \u003ca name=\"future-features\"\u003e\u003c/a\u003e\n\n- [ ] **I will add some animations to make it more user friendly**\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🤝 Contributing \u003ca name=\"contributing\"\u003e\u003c/a\u003e\n\nContributions, issues, and feature requests are welcome!\n\nFeel free to check the [issues page](../../issues/).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## ⭐️ Show your support \u003ca name=\"support\"\u003e\u003c/a\u003e\n\nIf you liked this project and would like to support me, email me through my email address andohfrancis9187@gmail.com\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 🙏 Acknowledgments \u003ca name=\"acknowledgements\"\u003e\u003c/a\u003e\n\nSpecial thanks to Students at Brightfield Tech Academy\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## ❓ FAQ (OPTIONAL) \u003ca name=\"faq\"\u003e\u003c/a\u003e\n\n- **Where did you get the template for the website?**\n\n  - Figma\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## 📝 License \u003ca name=\"license\"\u003eMIT\u003c/a\u003e\n\nThis project is [MIT](./MIT.md) licensed.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcobbyelsonfx%2Fworkout-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcobbyelsonfx%2Fworkout-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcobbyelsonfx%2Fworkout-tracker/lists"}