Git Product home page Git Product logo

online-library-management-system's Introduction

Create a web application using Spring Boot that allows users to manage books in an online library. This will include basic CRUD operations on books (Create, Read, Update, Delete) and possibly user account management.

online-library-management-system's People

Contributors

ajinkyabridgelabz avatar mayurp375 avatar satya1-2 avatar naveenkumargorakala avatar pranalikubade avatar

Watchers

 avatar

online-library-management-system's Issues

### 2. **Issue: Design the Book Listing Page**

Description:
Design a page to list all the books available in the library. The list should provide essential details
like the title, author, and genre.

Tasks:

  • Implement a method getAllBooks() in BookService.

  • In BookController, create a GET endpoint /books to fetch and display all books.

  • Add pagination support if there are a lot of books. (Extra)

### 4. **Issue: Update Book Details**

Description:
Enable the users to update details of a book.

Tasks:

  • Add an updateBook(Book book) method in BookService.
  • Implement a PUT endpoint in BookController like /books/{bookId} for updating a book's details.

### **Issue: Add Support for MySQL with Dependency Inversion**

Description:
Integrate MySQL for the Online Library Management System, ensuring the core application relies on
database abstractions and not concrete MySQL implementations.

Tasks:

  • Set up a local MySQL server for development.
  • Using the previously defined BookRepository interface, create a MySQLBookRepository class that
    implements this interface for MySQL.
  • Ensure BookService still depends on the BookRepository interface for its operations.
  • Configure Spring Boot to use the MySQLBookRepository bean wherever a BookRepository is needed.
  • Test endpoints for MySQL compatibility.

### **Issue: Add Support for MongoDB with Dependency Inversion**

Description:
Implement MongoDB as a data store for the Online Library Management System while ensuring that the core
application logic depends on database abstractions rather than concrete MongoDB details.

Tasks:

  • Set up a local MongoDB instance for development.
  • Define a BookRepository interface that outlines the necessary CRUD operations.
  • Implement a MongoBookRepository class that implements the BookRepository interface,
    integrating with MongoDB.
  • In BookService, inject the BookRepository interface rather than a concrete MongoDB repository
    class.
  • Configure Spring Boot to use the MongoBookRepository bean where a BookRepository is required.
  • Test all existing endpoints to ensure compatibility with MongoDB.

### 1. **Issue: Add Functionality to Create a New Book**

Description:
Implement the backend functionality to support the creation of new books in the library. This involves
creating a new book entity, a service to manage CRUD operations for the book, and a controller to handle
web requests.

Tasks:

  • Define a Book entity with attributes such as id, title, author, genre, isbn,
    publishedDate, etc.
  • Create a BookService with a method createBook(Book book).
  • Implement a BookController with a POST endpoint /books to add a new book.

### 5. **Issue: Delete a Book**

Description:
Facilitate the removal of books from the system.

Tasks:

  • Introduce a deleteBook(Long bookId) method in BookService.
  • Set up a DELETE endpoint in BookController like /books/{bookId}.

### 3. **Issue: Implement Search Feature**

Description:
Allow users to search for books by title, author, or genre. This should be a backend
feature.

Tasks:

  • Implement a search method in BookService that takes in a query and searches based on title,
    author, or genre.
  • Add a GET endpoint in BookController like /books/search?query=XYZ.

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.