Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExerciseRoutine Logo

ExerciseRoutine

React Laravel PHP License

ExerciseRoutine is a modern full-stack web application for creating, organizing, and discovering fitness exercises.

Users can build their own exercise library, organize exercises into custom categories, save favourites, and browse detailed exercise information through a responsive interface. The application also includes a dedicated administration panel for managing users, exercises, and categories.

Built with React, Laravel, and MySQL/SQLite, the project demonstrates modern full-stack development through RESTful APIs, secure authentication, role-based authorization, and responsive UI design.


Features

User Features

  • User registration and authentication
  • Secure login with Laravel Sanctum
  • Personal dashboard with exercise statistics
  • Create, edit, and delete exercises
  • Upload exercise images
  • Organize exercises using custom categories
  • Save favourite exercises
  • Search exercises by title
  • Filter exercises by category
  • Detailed exercise pages
  • Responsive interface for desktop and mobile

Administration

  • Admin dashboard
  • User management
  • Exercise management
  • Category management
  • Search and filtering
  • Pagination
  • Role-based access control

Technologies

Category Technologies
Frontend React 19, Vite
Backend Laravel 12
Language PHP 8.2, JavaScript
Styling Tailwind CSS v4, DaisyUI
API REST API
Authentication Laravel Sanctum
Data Fetching TanStack Query
HTTP Client Axios
Routing React Router
Database SQLite / MySQL
Development Composer, npm

Software Engineering

This project demonstrates several software engineering concepts, including:

  • Full-stack architecture
  • RESTful API design
  • Authentication and authorization
  • Role-based access control
  • CRUD operations
  • Many-to-many database relationships
  • Responsive UI design
  • Component-based React architecture
  • State management using TanStack Query
  • Image upload handling
  • Search, filtering, and pagination
  • Clean project organization

Screenshots

User Dashboard

Overview of personal exercises, favourites, and categories.

dashboard

Home Page

Browse exercises with search and category filters.

index

Exercise Details

Detailed exercise information including categories, difficulty, equipment, and instructions.

exercise-detail

My Exercises

Manage your personal exercise collection.

my-exercises

Add Exercise

Create new exercises with images, categories, equipment, and instructions.

add-exercise

Edit Exercise

Update existing exercises and uploaded images.

edit-exercise

Favourite Exercises

Quick access to saved exercises.

favourites

Category Management

Create and manage custom exercise categories.

my-categories

Admin Panel

Dedicated administration interface.

User Management

admin-users

Exercise Management

admin-exercises

Category Management

admin-categories

Database Design

Entity relationship diagram illustrating the application's relational database structure.

database

Getting Started

Requirements

  • PHP 8.2+
  • Composer
  • Node.js
  • npm
  • SQLite or MySQL

Clone the repository

git clone https://github.com/hassan-afifi/ExerciseRoutine.git

Backend

cd server

composer install

cp .env.example .env

php artisan key:generate

php artisan migrate --seed

php artisan storage:link

php artisan serve

Frontend

cd client

npm install

npm run dev

Repository Structure

ExerciseRoutine/
├── client/
│   ├── src/
│   ├── public/
│   └── ...
│
├── server/
│   ├── app/
│   ├── routes/
│   ├── database/
│   ├── resources/
│   └── ...
│
└── README.md

License

This project is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

https://creativecommons.org/licenses/by-nc-nd/4.0/

About

Modern full-stack exercise management platform built with React and Laravel.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages