Skip to content

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.

Notifications You must be signed in to change notification settings

yulluone/justbooks

Repository files navigation

LARAVEL VUE JS SECOND-ROUND INTERVIEW CODE CHALLENGE

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.

In This ReadMe

  1. Project Structure
  2. Key Functionality
  3. Additional Features
  4. Running the Project Locally

Project Structure

Backend (Laravel)

  • 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.

Frontend (Vue.js)

  • 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.

Key Functionality

Admin Dashboard

  • Register users and manage their access.
  • Add, update, and delete books from the library.
  • Monitor and manage book loans.

User Access

  • Borrow available books from the library.
  • Request loan extensions if unable to return books on time.
  • Return borrowed books through the system.

Additional Features

  • 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.

Running the Project Locally

Prerequisites

Before you start, make sure you have the following installed on your system:

Installation Steps

  1. 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.)

  2. 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
  3. Frontend Setup

    npm install
  4. Run the Application

    Start the Laravel server:

    php artisan serve

    Start the Vue.js development server:

    npm run dev
  5. Access the Application

    Open your browser and go to http://localhost:8000 to view the application.

    Login with the following credentials:

  6. 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...

Additional Notes

  • Ensure you keep your database credentials secure.
  • Make sure ports 8000 (for Laravel) and 3000 (for Vue.js) are available.
  • For production, configure a proper web server like Apache or Nginx.

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published