Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marcosvel/gym-personal
Gym training app with backend integration (Rest API), declarative interfaces with component library, authentication, controlled forms, refresh token and file upload from user photo gallery.
https://github.com/marcosvel/gym-personal
authentication axios-interceptors expo-dev-client filesystem image-picker native-base onesignal-notifications rest-api skeleton svg-icons
Last synced: 25 days ago
JSON representation
Gym training app with backend integration (Rest API), declarative interfaces with component library, authentication, controlled forms, refresh token and file upload from user photo gallery.
- Host: GitHub
- URL: https://github.com/marcosvel/gym-personal
- Owner: MarcosVel
- Created: 2023-01-08T06:00:36.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-18T05:18:45.000Z (7 months ago)
- Last Synced: 2024-06-18T06:36:12.690Z (7 months ago)
- Topics: authentication, axios-interceptors, expo-dev-client, filesystem, image-picker, native-base, onesignal-notifications, rest-api, skeleton, svg-icons
- Language: TypeScript
- Homepage: https://www.figma.com/file/dmy30vjOfj0D2JrKGdb0Df/Ignite-Gym-(Community)?node-id=37%3A6&t=dka1Fntc6qPobQcE-1
- Size: 13.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Gym Personal
## Overview
Gym Personal is a gym training app that integrates with a backend to provide features like authentication, controlled forms, refresh tokens, and file uploads from the user photo gallery. This project showcases the use of declarative interfaces with a component library, and backend integration through a REST API.
## 🧐 Features
- **User Authentication**: Secure login and registration system with JWT and refresh tokens.
- **Training Management**: Create and view training sessions.
- **File Uploads**: Upload user profile pictures from the gallery.
- **Responsive Design**: Optimized for various screen sizes.
- **Notifications**: Push notifications using OneSignal.
- **RESTful API**: Backend services with Node.js and Express.
- **Declarative UI**: Built with a component library for clean and maintainable code.## 💻 Front-end Technologies Used
- **Expo**: To streamline the development process having access to Android and iOS folders throught `expo-dev-client`.
- **TypeScript**: Ensures type safety and code quality.
- **Native Base**: Component library for building the UI.
- **Axios**: For making API requests.
- **React Native**: For navigation.
- **Hook-form & Yup**: For handling form state and validation.
- **React Navigation**: For navigation within the app.
- **Expo Image Picker**: For handling image uploads.
- **OneSignal**: For push notifications.## Getting Started
### Prerequisites
- Node.js and yarn
- React Native CLI
- Expo CLI### 🛠️ Installation
1. **Clone the repository**:
```sh
git clone https://github.com/MarcosVel/Gym-personal.git
cd Gym-personal
```2. **Backend Setup**:
```sh
cd backend
yarn
yarn start
```3. **Mobile App Setup**:
```sh
cd mobile
yarn
npx expo start
```### Configuration
**Mobile**:
- Update `mobile/.env.example` to `.env` and put your ONESIGNAL_APP_ID.
- Update `mobile/src/services/api.js` with your baseURL.## Usage
1. **Start the backend server**:
```sh
cd backend
npm start
```2. **Run the mobile app**:
```sh
cd mobile
npx expo start
```3. **Access the app**:
Use the emulator or physical device to navigate through the app, manage training sessions, and interact with other features in real-time.