This project is a comprehensive implementation of a library management system using Laravel for the backend and Vue.js for the frontend. The system facilitates CRUD operations on users, books, and book loans, ensuring authentication for secure access.
- Implemented RESTful APIs to manage users, books, and book loans.
- Ensured secure authentication mechanisms for API access.
- Utilized MySQL database for persistent data storage.
- Normalized database schema to meet extended requirements.
- Developed a user-friendly interface to consume the provided APIs.
- Enabled admins to register users, add books, and manage book loans efficiently.
- Facilitated book borrowing, loan extension, and book return processes for users.
- Register users and manage their access.
- Add, update, and delete books from the library.
- Monitor and manage book loans.
- Borrow available books from the library.
- Request loan extensions if unable to return books on time.
- Return borrowed books through the system.
- Implemented reusable code patterns for scalability.
- Ensured a clean and responsive frontend design.
- Employed quality front-end components like reports and graphs for better visualization and user interaction.
- Leveraged normalized database schemas for extended system capabilities and flexibility.
Before you start, make sure you have the following installed on your system:
- Composer
- Node.js and npm
- MySQL or another database of your choice
- Git (optional, for cloning the repository)
-
Clone the Repository
git clone https://github.com/joshuamwo/justbooks.git cd justbooks
(If you don't have Git, download the repository ZIP and extract it.)
-
Backend Setup
composer install cp .env.example .env php artisan key:generate
Update
.env
file with your database credentials:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_database_username DB_PASSWORD=your_database_password
Run migrations and seeders(AdminUserSeeder):
php artisan migrate --seed
-
Frontend Setup
npm install
-
Run the Application
Start the Laravel server:
php artisan serve
Start the Vue.js development server:
npm run dev
-
Access the Application
Open your browser and go to
http://localhost:8000
to view the application.Login with the following credentials:
- Email:
[email protected]
-Password:Seol11@3
- Email:
-
Try Out Features
- Add some books to the library.
- Create a user account.
- Borrow a book using the user account.
- Approve the book loan from the admin dashboard.
- Test other features like returning a book, extending the loan...
- Approve the book loan from the admin dashboard.
- Borrow a book using the user account.
- Create a user account.
- Ensure you keep your database credentials secure.
- Make sure ports
8000
(for Laravel) and3000
(for Vue.js) are available. - For production, configure a proper web server like Apache or Nginx.