Skip to content

Ibnu-Afdel/EasyRead

Repository files navigation

ReadEasy - Digital Library Management System

ReadEasy is a modern digital library management system built with Laravel and Livewire. It allows users to browse, read, and manage books from the Gutenberg Project API, with features for librarians and administrators to manage the collection.

Features

  • 📚 Browse books from Gutenberg Project API
  • 🔍 search functionality
  • 👥 User role management (Owner, Admin, Librarian, User)
  • 📖 Read books online in multiple formats
  • 💾 Download books in various formats
  • 📱 Responsive design with Tailwind CSS
  • 🔐 Authentication and authorization
  • 📊 User reading history tracking

Tech Stack

  • Backend: Laravel 11.x
  • Frontend: Livewire 3.x, Tailwind CSS
  • Database: PostgreSQL
  • Authentication: Laravel Sanctum
  • Deployment: Heroku

Setup Instructions

  1. Clone the repository:
git clone https://github.com/yourusername/easyread.git
cd easyread
  1. Install dependencies:
composer install
npm install
  1. Configure environment:
cp .env.example .env
php artisan key:generate
  1. Configure database in .env:
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=readeasy
DB_USERNAME=your_username
DB_PASSWORD=your_password
  1. Run migrations and seeders:
php artisan migrate --seed
  1. Start the development server:
php artisan serve
npm run dev

User Roles

  • Owner: Full system access
  • Admin: Book management and user oversight
  • Librarian: Book management and user assistance
  • User: Basic book access and personal library

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

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

Acknowledgments

About

Library Management System

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages