Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

bodyfit

A mobile application for Gyms

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

README

💪 Bodyfit

Bodyfit is a gym management application designed to digitize and streamline the workout experience. It centers around workout registration and exercise sheets, allowing gym clients to track their full training history from any device — smartphone, tablet, or laptop.

Table of Contents

📋 Prerequisites

Before getting started, make sure you have the following set up:

  • Delphi 10.4 Community Edition or a later compatible version.
  • Boss — the Delphi package manager, required to install project dependencies.
  • Firebird 4.0 — used as the server-side database. The database was originally created using IBExpert Personal Edition v2023.9.13.1.
  • SQLite — used as the client-side database. It is created automatically by the application and can be inspected via SQLiteStudio v3.4.4.

All third-party dependencies are listed in the Built With section.

🔧 Installation

Step 1 — Clone the repository into C:\Bodyfit:

bash
git clone https://github.com/pmbfsa/Bodyfit

Step 2 — Navigate to C:\Bodyfit\Mobile and install the following dependencies using Boss:

  • dataset-serialize
  • restrequest4delphi

Step 3 — Navigate to C:\Bodyfit\ServidorHorse and install the following dependencies using Boss:

  • dataset-serialize
  • horse
  • horse-basic-auth
  • horse-cors
  • jhonson

⚙️ Running the Application

The project consists of two separate executables:

Server

Responsible for storing user data and all persistent application records. Once all dependencies are installed, simply build, compile, and run the project. A small window will appear confirming the server is running, along with the IP address and port in use.

By default, the server runs on localhost:3050. Connection settings, including the database file path, can be customized in:

pascal
C:\Bodyfit\ServidorHorse\Win32\Debug\Servidor.ini

Mobile (Client)

Responsible for the application's graphical interface. It runs on the user's device and automatically connects to the server to handle all data storage and retrieval operations.

While the server holds the persistent database, the client maintains a local SQLite database for temporary data management.

Once all dependencies are installed, simply build, compile, and run the project. The main screen will load and the application will be ready to use.

⚠️ Note: For initial testing, it is recommended to run both the server and the client on the same machine.

🛠️ Built With

Package Description
dataset-serialize Simplifies JSON ↔ DataSet serialization
restrequest4delphi REST client API for Delphi
horse Web framework for Delphi, inspired by Express.js
horse-basic-auth Horse middleware for Basic Authentication
horse-cors Horse middleware for CORS handling
jhonson Horse middleware for JSON support

✒️ Authors

Role Name
Instructor Heber Stein Mazutti
Developer & Documentation Paulo Márcio

📄 License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.