Skip to content

labmecanicatec/appV5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“… LibreBooking Laravel

Modern Reservation Management System

Laravel PHP License Backpack

LibreBooking Laravel is a modern, Laravel-based application designed to manage reservations, resources, and availability for laboratories, equipment, rooms, and facilities. This project extends the functionality of the original LibreBooking system with modern Laravel 12 components, Backpack admin panel, and a responsive interface.

Features β€’ Installation β€’ Configuration β€’ Documentation

⚠️ Important Considerations

Before you begin, please read these important notes:

1. Database Testing

It is highly recommended to test this application using a copy of a LibreBooking 4.0 database. You may also install a completely new database if preferred.

⚠️ Warning: When migrating an existing database, irreversible structural changes are applied. Always use a backup copy before running any migration.

2. Password Reset Required

Existing user passwords will stop working after migration and must be reset. The installer allows resetting passwords for specific users. At minimum, it is strongly recommended to reset the password for the administrator user.

3. Sample Data

During installation, you may optionally provide additional sample data to improve the testing experience. Supplying this extra information is recommended when setting up a testing environment.

4. Theme Customization

The application's appearance can be customized in config/backpack/theme-tabler.php:

  • Lines 43–47: Control the background image/pattern
  • Lines 48–52: Control the color scheme

5. Translation Accuracy

Translations for English, German, and Spanish were generated with AI assistance and should be reviewed for accuracy before production use.


πŸ”„ Migration Highlights (LibreBooking β†’ Laravel)

This section summarizes the most important migration changes introduced while moving from LibreBooking to Laravel.

1. Database Changes

The migration process (php artisan app:install-db) applies structural normalization before running the Laravel migration set.

  • Primary key standardization: legacy primary keys are normalized to id (Laravel convention), and pivot table PK columns are converted to unsignedBigInteger.
  • Foreign key normalization: FK columns are standardized to Laravel naming (*_id) and type expectations (unsignedBigInteger).
  • Legacy FK renames: non-standard columns such as announcementid are renamed to announcement_id.
  • Constraint rebuild flow: existing foreign keys are dropped first, then schema normalization is applied, and migrations rebuild constraints.
  • Announcements schema alignment: legacy announcement_text is migrated to text and content is decoded for compatibility.
  • Version tracking: migration status is recorded in dbversion (for example, updated to 5.0 by the installer command).

⚠️ These schema transformations can be destructive for legacy databases. Always run migrations on a backup copy first.

More migration highlights (auth, permissions, UI, and domain behavior) can be documented in this section as the project evolves.


πŸ“‹ Requirements

Before installing LibreBooking Laravel, ensure your system meets the following requirements:

  • PHP 8.2 or higher
  • Composer 2.x
  • Database: MySQL 8.0+ / MariaDB 10.3+
  • Web Server: Apache / Nginx
  • Extensions: BCMath, Ctype, Fileinfo, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML, GD

πŸ› οΈ Technology Stack

Category Technology
Framework Laravel 12.x
Admin Panel Backpack for Laravel 7.x
Theme theme-tabler
Database MySQL / MariaDB
PHP Version 8.2+
Image Processing Intervention Image
Permissions Backpack PermissionManager
File Manager Backpack FileManager
Translations Spatie Translation Loader

πŸš€ Installation Guide

This README contains instructions for local (non-Docker) installation.

Installation Type Guide Typical Use
Local (non-Docker) This file (README.md) Direct PHP/Composer setup on host
Docker README.Docker.md Isolated environment with containers

1. Clone the repository

git clone https://github.com/labmecanicatec/appV5.git
cd appV5

2. Configure environment

Copy the example environment file and update your configuration:

cp .env.example .env

Then edit .env and set at least:

APP_TIMEZONE=America/Bogota
APP_URL=http://127.0.0.1:8000
DB_CONNECTION=mariadb
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=librebooking
DB_USERNAME=root
DB_PASSWORD=password

3. Install dependencies

composer install

4. Initialize Laravel

php artisan key:generate
php artisan storage:link

5. Install/prepare the database

php artisan app:install-db

This command will create or update the database, run migrations, and seed data.

6. Start development server

php artisan serve

Access:


βš™οΈ Configuration

Environment Variables

Key configuration options in your .env file:

# Application
APP_NAME="LibreBooking"
APP_ENV=local
APP_DEBUG=true
APP_TIMEZONE=America/Bogota
APP_URL=http://127.0.0.1:8000

# Database
DB_CONNECTION=mariadb
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=librebooking_test
DB_USERNAME=root
DB_PASSWORD=password

# Mail Configuration
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null

Theme Customization

Customize the application's appearance in:

config/backpack/theme-tabler.php

  • Lines 43–47: Control the background image/pattern
  • Lines 48–52: Control the color scheme

Available options include dark mode, light mode, and various color themes.

Translations

The application includes translations for:

  • πŸ‡¬πŸ‡§ English
  • πŸ‡©πŸ‡ͺ German (Deutsch)
  • πŸ‡ͺπŸ‡Έ Spanish (EspaΓ±ol)

πŸ’‘ Note: Translations were generated with AI assistance and should be reviewed for accuracy. You can modify translations in the lang/ directory or through the admin panel.


🎯 Usage

Accessing the Application

Default Credentials

After installation, you'll set up your admin credentials during the database installation process. Make sure to:

  1. Reset the administrator password during installation
  2. Configure additional user accounts as needed

πŸ§ͺ Testing

Run the test suite:

php artisan test

Or with PHPUnit directly:

./vendor/bin/phpunit

For code style checking:

./vendor/bin/pint

🧰 Additional Notes

  • Ensure your database is properly configured and accessible before running migrations
  • Customize timezones and locales in .env to match your region
  • The app uses Backpack for Laravel for the admin interface
  • All existing user passwords from LibreBooking 4.0 must be reset after migration
  • It's strongly recommended to test with a copy of your production database first

πŸ› Troubleshooting

Common Issues

Database Connection Error

# Check your .env database credentials
# Ensure MySQL/MariaDB service is running
sudo systemctl status mysql  # or mariadb

Permission Denied Errors

# Fix storage and cache permissions
chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data storage bootstrap/cache

Composer Dependencies Issues

# Clear composer cache and reinstall
composer clear-cache
composer install --no-cache

Frontend Assets Not Loading

# Rebuild assets
php artisan config:clear
php artisan cache:clear

🀝 Contributing

We welcome contributions!


πŸ“– Documentation


πŸ™ Credits & Acknowledgments

This project is built upon and inspired by:

Special Thanks

  • All contributors who have helped improve this project
  • The Laravel and Backpack communities for their excellent tools and documentation

πŸ“„ License

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


⚠️ Important Security Notice

  • Always use a backup copy of your database when testing
  • Reset all user passwords after migration from LibreBooking 4.0
  • Keep your dependencies up to date: composer update
  • Never commit your .env file to version control
  • Use strong passwords for production environments

Made with ❀️ for the community

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors