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.
- 📚 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
- Backend: Laravel 11.x
- Frontend: Livewire 3.x, Tailwind CSS
- Database: PostgreSQL
- Authentication: Laravel Sanctum
- Deployment: Heroku
- Clone the repository:
git clone https://github.com/yourusername/easyread.git
cd easyread
- Install dependencies:
composer install
npm install
- Configure environment:
cp .env.example .env
php artisan key:generate
- 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
- Run migrations and seeders:
php artisan migrate --seed
- Start the development server:
php artisan serve
npm run dev
- Owner: Full system access
- Admin: Book management and user oversight
- Librarian: Book management and user assistance
- User: Basic book access and personal library
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Project Gutenberg for the book database
- Laravel for the amazing framework
- Livewire for the dynamic UI components
- Tailwind CSS for the styling