Giter Club home page Giter Club logo

justbooks's Introduction

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.

justbooks's People

Contributors

yulluone avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.