Final project, Gympoint, of the Rocketseat GoStack 2019 course.
Gympoint is a complete solution including backend, website and mobile app for gym management. Through the website, academy administrators can register new students, plans, enrollments and respond to students' requests for help. The cell phone application is used by the student to perform checkins and send general questions related to the gym.
After registering the student at the academy and creating the enrollment, he receives a confirmation email and welcome with information regarding the chosen plan and data of the student himself.
OBS: the mobile application was developed and tested only on the platform Android 9.0 (API 28)
The name of each folder explains the type of solution within this repository, backend, web and mobile. Each project has a specific configuration and will be detailed in sequence.
To run the backend it will be necessary to perform the following installations and setups:
- Create a docker instance for the database postgres version 11 and redirect to port 5432
- Create a database within postgres
- Create a docker instance for the server redis alpine version with redirection to port 6379
- A Mailtrap or similar account to simulate an SMTP server
- A Sentry or similar account to log exceptions to the backend
After cloning the repository, go to the backend folder and install the project's dependencies. Inside the backend folder create a file called .env and inside this file paste the contents of the file .env.example. Now assign the values of the variables DB_HOST, DB_USER, DB_PASS and DB_NAME for the postgres database.
To simulate sending emails, fill in the variables MAIL_HOST, MAIL_PORT, MAIL_USER and MAIL_PASS referring to Sentry's SMTP credential.
Finally add the Sentry URL for the client key for the project created in your account in the SENTRY_DSN environment variable.
Create the database tables
yarn sequelize db:migrate
Seed the tables
yarn sequelize db:seed:all
Then run the project
yarn dev
When accessing http://localhost:4444/students/1/checkins the server must return status 200 with a response body in JSON format.
Inside the web folder, install the dependencies and run the command yarn start
to emulate the site.
You can access the site by admin@gympoint.com and password 123456
Make sure the React Native be configured.
Inside the mobile folder, install the dependencies and run the emualdor or physical device and run the command yarn android
(considering you have your android mobile connected in you PC with the developer mode enabled)
This project uses the MIT license - see the file LICENSE.md for more details.
To Rocketseat for the knowledge acquired.
#BORACODAR