{"id":16786180,"url":"https://github.com/stefanosaffran/gympoint","last_synced_at":"2025-10-04T13:57:30.340Z","repository":{"id":36516527,"uuid":"226826695","full_name":"StefanoSaffran/gympoint","owner":"StefanoSaffran","description":"Gym management app - developed as the final project for @Rocketseat's Gostack Bootcamp.","archived":false,"fork":false,"pushed_at":"2024-10-10T16:15:53.000Z","size":2637,"stargazers_count":14,"open_issues_count":73,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-13T08:12:15.404Z","etag":null,"topics":["docker","gympoint","nodejs","react-native","reactjs","redux","rocketseat"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StefanoSaffran.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-12-09T08:53:26.000Z","updated_at":"2024-03-13T22:12:12.000Z","dependencies_parsed_at":"2023-12-30T00:33:36.777Z","dependency_job_id":"61e9647c-f779-4993-9292-a0e5cffd2b50","html_url":"https://github.com/StefanoSaffran/gympoint","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanoSaffran%2Fgympoint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanoSaffran%2Fgympoint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanoSaffran%2Fgympoint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StefanoSaffran%2Fgympoint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StefanoSaffran","download_url":"https://codeload.github.com/StefanoSaffran/gympoint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243735816,"owners_count":20339535,"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","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":["docker","gympoint","nodejs","react-native","reactjs","redux","rocketseat"],"created_at":"2024-10-13T08:11:30.124Z","updated_at":"2025-10-04T13:57:25.320Z","avatar_url":"https://github.com/StefanoSaffran.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://res.cloudinary.com/stefanosaffran/image/upload/v1576226426/kxmdozm0odu7e0twlhx3.svg\" width=\"230px\"/\u003e\n\u003c/div\u003e\n\n\u003ch1 align=\"center\"\u003e\n   GymPoint Fullstack app\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n \n\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg alt=\"Last commit on GitHub\" src=\"https://img.shields.io/github/last-commit/StefanoSaffran/gympoint?color=EE4D64\"\u003e\n\u003cimg alt=\"Made by Stefano\" src=\"https://img.shields.io/badge/made%20by-StefanoSaffran-%20?color=EE4D64\"\u003e\n\u003cimg alt=\"Project top programing language\" src=\"https://img.shields.io/github/languages/top/StefanoSaffran/gympoint?color=ee4d64\"\u003e\n\u003cimg alt=\"GitHub license\" src=\"https://img.shields.io/github/license/StefanoSaffran/gympoint?color=ee4d64\"\u003e\n\u003c/p\u003e \n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#computer-project\"\u003eProject\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#rocket-built-with\"\u003eBuilt with\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#information_source-how-to-run\"\u003eHow to run\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#page_facing_up-license\"\u003eLicense\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#mailbox_with_mail-get-in-touch\"\u003eGet in touch\u003c/a\u003e\n\u003c/p\u003e\n\n## :computer: Project \n\n Gym management app, that allows the admin to manage students, plans, memberships and answer to student requests on the web app and students can check-in and create orders on the mobile app.\n\n## :rocket: Built with\n\nThis project was developed with the following technologies:\n\n-  [Node.js](https://nodejs.org/)\n-  [ReactJS](https://reactjs.org/)\n-  [React Native](https://facebook.github.io/react-native/)\n-  [Redux](https://redux.js.org/)\n-  [Redux-Saga](https://redux-saga.js.org/)\n-  [Redux-persist](https://github.com/rt2zz/redux-persist)\n-  [@rocketseat/unform](https://github.com/Rocketseat/unform)\n-  [Styled-components](https://www.styled-components.com/)\n-  [React-toastify](https://github.com/fkhadra/react-toastify)\n-  [React Navigation](https://reactnavigation.org/)\n-  [React-icons](https://react-icons.netlify.com/)\n-  [Axios](https://github.com/axios/axios)\n-  [Reactotron](https://infinite.red/reactotron)\n-  [Immer](https://github.com/immerjs/immer)\n-  [Polished](https://polished.js.org/)\n-  [Yup](https://www.npmjs.com/package/yup)\n-  [Bee-queue](https://github.com/bee-queue/bee-queue)\n-  [Date-fns](https://date-fns.org/)\n-  [Prop-types](https://www.npmjs.com/package/prop-types)\n-  [ESLint](https://eslint.org/)\n-  [Prettier](https://prettier.io/)\n-  [VS Code](https://code.visualstudio.com/)\n\n\n## :information_source: How to run\n\n### Requirements\n\nTo run the application you will need:\n* [Git](https://git-scm.com)\n* [Node](https://nodejs.org/)\n* [Yarn](https://yarnpkg.com/) \n\nI strongly recommend using [Docker](https://www.docker.com/) to run the databases.\n\u003cbr\u003e\nIf you decide to use docker, follow this steps to install and run the docker images.\n\n```bash\n# install Redis image\n$ docker run --name imageName -p 6379:6379 -d -t redis:alpine\n\n# install Postgres image (if you don't specify an username it will be postgres by default)\n$ docker run --name imagename -e POSTGRES_PASSWORD=yourPassword -p 5432:5432 -d postgres\n\n# start Redis\n$ docker start imageName\n\n# start Postgres\n$ docker start imageName\n\n```\n### Backend\nNow clone the repository and install the dependencies.\n```bash\n# to clone the repository\n$ git clone https://github.com/StefanoSaffran/gympoint.git\n\n# go into the backend folder\n$ cd gympoint/backend\n\n#install the backend dependencies\n$ yarn\n\n```\nIn order to connect to the database, you will need to enter the access informations into a .env file, based on a .env.example file that is provided in the backend folder, change the variables according to your environment.\n```bash\n# run migrations\n$ yarn sequelize db:migrate\n\n# run seeds\n$ yarn sequelize db:seed:all\n\n# run api\n$ yarn dev \u0026 yarn queue\n```\n\n### Frontend\n\n```bash\n# in another tab of the terminal install the frontend dependencies and run it \n$ cd frontend\n$ yarn\n$ yarn start\n```\nUse this credentials to access the web application\n\u003cblockquote\u003e\u003cstrong\u003eemail:\u003c/strong\u003e admin@gympoint.com\u003c/blockquote\u003e\n\u003cblockquote\u003e \u003cstrong\u003esenha:\u003c/strong\u003e 123456\u003c/blockquote\u003e\n\n### Mobile\n\nfor mobile you need the Android emulator with the SDK installed or IOS emulator and the react-native cli.\n\n\u003cblockquote\u003eThe project was developed and tested on Android emulator\u003c/blockquote\u003e\n\n```bash\n# install dependencies and run the mobile\n$ cd mobile\n$ yarn\n\n# first open the emulator and start the react native server\n$ yarn start\n\n# in another tab install and run the app\n$ yarn android\n\n```\n\u003cblockquote\u003ethis part can be tricky, if you face some error, try running yarn start --reset-cache and yarn android again.\u003c/blockquote\u003e\n\n## :page_facing_up: License\n\nThis project is under the MIT license. See the [LICENSE](https://github.com/StefanoSaffran/gympoint/blob/master/LICENSE) for more information\n\n## :mailbox_with_mail: Get in touch!\n\n\u003ca href=\"https://stefanosaffran.com\" target=\"_blank\" \u003e\n  \u003cimg alt=\"Website - Stefano Saffran\" src=\"https://img.shields.io/badge/Website--%23F8952D?style=social\"\u003e\n\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003ca href=\"https://www.linkedin.com/in/stefanosaffran/\" target=\"_blank\" \u003e\n  \u003cimg alt=\"Linkedin - Stefano Saffran\" src=\"https://img.shields.io/badge/Linkedin--%23F8952D?style=social\u0026logo=linkedin\"\u003e\n\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003ca href=\"mailto:stefanoas@gmail.com\" target=\"_blank\" \u003e\n  \u003cimg alt=\"Email - Stefano Saffran\" src=\"https://img.shields.io/badge/Email--%23F8952D?style=social\u0026logo=gmail\"\u003e\n\u003c/a\u003e \n\n---\n\nMade with :coffee: and ❤️ by Stefano Saffran.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanosaffran%2Fgympoint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefanosaffran%2Fgympoint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanosaffran%2Fgympoint/lists"}