Skip to content

furkankayam/fullstack-gym-iot-app

Repository files navigation

💪 Fullstack Gym IoT App

This project is a web-based Gym Management System that allows both administrators and users to interact with the system. The application integrates NFC cards for gym access, where users can check in and out of the gym. Admins can manage users, update pricing, extend memberships, and view the number of people inside the gym in real-time. Additionally, admins can enter users' measurements (e.g., height, weight), and users can manage their accounts.

Admin Dashboard:

  • Add new users and assign NFC cards.
  • Extend user memberships.
  • View the current number of people inside the gym.
  • Update pricing for memberships.
  • Enter user measurements (e.g., height, weight).
  • Reset their own password.

User Account:

  • Users can check how many days are left on their membership.
  • Users can view their measurements, but cannot modify them.
  • Users can reset their own password.

⚡Home Page

home

📕 About Page create
💵 Pricing Page create
📞 Contact Page create
🔑 Login Page create

⚡Admin Page

home

🚹 Admin - User Registration Page create
📏 Admin - Measurement Creation Page create
➕ Admin - View Gym Occupancy create
💵 Admin - Pricing Update Page create
🔓 Admin - Membership Renewal Page create
🔓 Admin - Reset Password Page create

⚡User Page

home

🔓 User - Reset Password Page create

⚡System Architecture Overview

➕ MQTT create
➕ Swagger UI create
➕ Database create
➕ Docker Compose create
➕ Network Connection Diagram create
➕ Electronic Schematic create create


Used Technologies in The Project:

React Axios Java Spring Boot PostgreSQL Maven Open API Docker ESP32 XL4016 MFRC522


Installation

git clone https://github.com/furkankayam/fullstack-gym-iot-app.git

Settings

//fullstack-gym-iot-app/gym-app-frontend/*

http://<SERVER_IP>:8080
//fullstack-gym-iot-app/esp32_gym_app_transmitter/*

const char* ssid = "<WIFI_NAME>";
const char* password = "<WIFI_PASSWORD>";
const char* mqtt_server = "<MQTT_SERVER_IP>";
//fullstack-gym-iot-app/esp32_gym_app_receiver/*

const char* ssid = "<WIFI_NAME>";
const char* password = "<WIFI_PASSWORD>";
const char* serverUrl = "<SERVER_ENDPOINT>";

Usage

docker-compose up

URL

▶️ UI

http://localhost

▶️ Swagger UI

http://localhost:8080/swagger-ui.html

▶️ Database

http://localhost:9090
  • rdbms: PostgreSQL
  • username: postgres
  • password: postgres
  • database: gym_app

License

This project is licensed under the MIT License. See the LICENSE file for details

Created by Mehmet Furkan KAYA