Skip to content
@AAU-ASE24W-group-E

ASE-E

AAU Advanced Software Engineering, Group E

Crowd Library - Book Management System (ASE WS2024)

Crowd Library is an web application for exchanging, lending and finding (physical) books in your area. It can be used by people who want to read books and / or by people who want to share their books with others

Main Functionality

  • Web Application
  • Listing Books
  • Finding Book Related Locations
  • Find Books on Map
  • Lending Books
  • Tracking Lent Books
  • Dark Mode

Technology Stack

Frontend

  • Vue3 as core framework
  • TailwindCSS for styling
  • Vitest for unit testing
  • Cypress for end-to-end testing

Backend

  • Quarkus as core framework
  • Microservices
  • PostGreSQL & PostGis
  • Hibernate ORM wiht Panache
  • OpenAPI
  • Docker & Kubernetes

CI/CD + GitOps

  • CI: SonarCloud Analysis
  • CD: Automatic build of container image publish to GitHub group container registry
  • GitOps: k8s state is managed in Git repository & automatically updates state from Git

Getting Started

To execute and run the application there are two possibilities:

  1. Cloning all GitHub Repositories and starting Backend and Frontend
    • Prerequisities
    • Clone all relevant repositories:
      • cl-book-service
      • cl-lending-service
      • cl-user-service
      • crowd-library-web
    • Start Docker Desktop
    • Start the backend microservices (you can use IntelliJ build-in quarkus service starting feature)
      • Hint: Ensure that all used ports (8080, 8081, 8082) are free
    • Install dependencies in frontend using npm i
    • Start the frontend using npm run dev
    • Access webpage via http://localhost:5173/
  2. Using Docker image published to GitHub group container registry
    • Prerequisities
    • Clone the repository crowd-library: git clone https://github.com/AAU-ASE24W-group-E/crowd-library.git
    • Use a command line tool that can execute shell scripts
    • Check out into crowd-library/k8s/minikube
    • Execute: ./startminikube.sh
    • Execute: ./awaitstartup.sh
    • Execute: ./applystate.sh
    • After executing all shell scripts and a successful start, you now have to create a tunnel using minikube to open the web application: minikube tunnel
    • You should now be able to access the page using http://localhost

Web Page

Start your journey on our landing page Landing All pages are also available in dark mode ;) Landing

After logging in, you can then search for books that are available at your location Landing There is also a map where the books are stored Landing

Using our bookish map, you can search for all available book stores and filter the ones you want to see Landing

As seller, you can add books by ISBN that can be lent and see the books that are currently borrowed Landing

When a user requests a book from the books list, they can access an overview displaying both the books they have requested and the books requested by others from them Landing

...and many more features

Pinned Loading

  1. crowd-library-web crowd-library-web Public

    Web frontend of the library system

    Vue 3

  2. cl-book-service cl-book-service Public

    Book microservice

    Java 1

  3. crowd-library crowd-library Public

    Main repo for the crowd-library project where we put documentation and orchestration files.

    Java

  4. cl-user-service cl-user-service Public

    Java

  5. cl-lending-service cl-lending-service Public

    Java

Repositories

Showing 7 of 7 repositories
  • crowd-library-web Public

    Web frontend of the library system

    AAU-ASE24W-group-E/crowd-library-web’s past year of commit activity
    Vue 3 0 1 1 Updated Feb 27, 2025
  • .github Public
    AAU-ASE24W-group-E/.github’s past year of commit activity
    0 0 0 0 Updated Feb 27, 2025
  • crowd-library Public

    Main repo for the crowd-library project where we put documentation and orchestration files.

    AAU-ASE24W-group-E/crowd-library’s past year of commit activity
    Java 0 MIT 0 10 0 Updated Feb 11, 2025
  • AAU-ASE24W-group-E/cl-lending-service’s past year of commit activity
    Java 0 0 0 0 Updated Feb 11, 2025
  • cl-book-service Public

    Book microservice

    AAU-ASE24W-group-E/cl-book-service’s past year of commit activity
    Java 1 0 0 0 Updated Feb 11, 2025
  • AAU-ASE24W-group-E/cl-rating-service’s past year of commit activity
    Java 0 0 0 0 Updated Feb 1, 2025
  • AAU-ASE24W-group-E/cl-user-service’s past year of commit activity
    Java 0 0 0 0 Updated Jan 28, 2025

Top languages

Loading…

Most used topics

Loading…