GithubHelp home page GithubHelp logo

luismda / ignite-gym Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 6.53 MB

Mobile app for realization gym exercises with instructions and history of completed exercises.

TypeScript 74.57% JavaScript 1.61% Java 12.51% Objective-C 2.31% Ruby 5.02% Objective-C++ 3.68% C 0.14% Swift 0.16%
expo native-base react-hook-form react-native react-navigation typescript async-storage zod expo-image-picker deep-linking

ignite-gym's Introduction

Ignite Gym App ๐Ÿ‹๏ธ


About

Ignite Gym is a mobile app with lots of gym exercises, separated by muscle group, with instructions on how to do them.

In addition, you can mark a exercise as completed and view all completed exercises in history, grouped by day. In the application, it is possible to create a new account and log in, as well as edit your profile, as well as update your avatar.

This app uses a refresh token strategy to keep the user signed in and the auth flow uses a JWT.

The push notification strategy was also implemented to remind the user to practice or even notify about a new exercise. Additionally, deep linking was also implemented to redirect based on notifications.

The project was developed using these technologies:

  • TypeScript
  • React Native
  • Expo Dev Client
  • Expo Image Picker (used to select and edit user avatar)
  • NativeBase (component library)
  • React Navigation (stack and tab navigation)
  • Axios (HTTP client)
  • Async Storage (used to local storage of user and token)
  • One Signal (used to send push notifications)
  • Firebase Cloud Messaging (used with One Signal to send notifications on Android devices)
  • React Hook Form
  • Zod

Finally, this project was developed in the React Native training in the Rocketseat Ignite course. The main purpose of this app was to practice using a component library, such as NativeBase, and bottom tab navigation, as well as backend integration, with authentication flow. In addition, it was possible to practice using the Context API and React Hooks, always following good coding practices.

Access the project layout in Figma

Instructions

  1. Clone the repository and install the dependencies:
git clone https://github.com/luismda/ignite-gym.git
npm i
  1. Clone the back-end project used in this app (created by rodrigorgtic) and install the dependencies:
git clone https://github.com/rodrigorgtic/ignitegym-api.git
npm i
  1. Run back-end server:
npm start
  1. Configure the env variables following the .env.example file (API URL and One Signal App ID)

  2. Run development build:

npm run android
# or
npm run ios
  1. Start app
npm start
  1. To preview the app, you can use Expo Go on your physical device or use an Android or iPhone emulator on your computer. See some more details in the React Native and Expo documentation.

Created by

Luรญs Miguel | LinkedIn

#NeverStopLearning ๐Ÿš€

ignite-gym's People

Contributors

luismda avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.