Coder Social home page Coder Social logo

bookstore's Introduction

BookStore Application

Java Spring Boot Maven H2 Database Hibernate Spring Data JPA Spring Security Gson Swagger JWT Build

Welcome to the BookStore application, a simple and comprehensive platform for book lovers and administrators to manage and explore books. This application features a robust authentication and authorization system to ensure a secure and personalized experience for every user.

Features

Public Users

  • View Books: Public users can view all books with their synopsis.
  • Sign Up: Create an account to access more features.

Authenticated Users

  • Full Book Content: After signing in, users can view the complete content of books.

Admin Users

  • Edit Books: Modify book details.
  • Manage Availability: Update book availability status.
  • Delete Books: Remove books from the system.

Super Admin

  • User Management: Create new users and view all users.

Test Users

  1. Regular User

  2. Admin User

  3. Super Admin User

Getting Started

Prerequisites

  • Java 17 or higher
  • Maven
  • Spring Boot (3.1.1)
  • H2 Database
  • Swagger UI

Installation

  1. Clone the repository:

    • HTTPS:
      git clone https://github.com/ikechiU/bookstore.git
    • SSH:
      git clone [email protected]:ikechiU/bookstore.git
  2. Set up the database:

    The application uses the H2 database for both runtime and testing, ensuring a lightweight and easy-to-set-up environment.
    
  3. Build the project:

    mvn clean install 
    
  4. Run the application:

    mvn spring-boot:run
    
  5. Run the tests:

    mvn test
    

Configuration

  • Profile: The application is configured to use two active profiles 'bookstore' and 'dev'.
  • Database Configuration: The application is configured to use the H2 database out-of-the-box. The default settings are specified in application-dev.properties and application-test.properties.

Initial Data Loading

  • Permissions: Permissions are preloaded at startup.
  • Default Users: Default users are created when the application starts.
  • Dummy Books: The system comes with dummy books uploaded during initial startup.

API Documentation

  • Swagger Integration: This application includes Swagger for easy API documentation and testing. Swagger provides an interactive interface where you can explore and interact with the application's endpoints.
  • Accessing Swagger UI Once the application is running, you can access the Swagger UI at the following URL: http://localhost:4040/documentation/swagger-ui/index.html

Contributing

  • Contributions are welcome! Please fork the repository and create a pull request with your changes.

Author

Ikechi Ucheagwu

bookstore's People

Watchers

Ikechi Ucheagwu 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.