Skip to content

mirelois/GenericOnlineLibrary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š CoolReads

CoolReads is a web application inspired by Goodreads, designed to offer a more user-friendly and socially engaging platform for book lovers. Users can manage their personal libraries, track their reading progress, explore book recommendations, and connect with other readers.


πŸš€ Features

  • 🧾 Personal Bookshelves: Create and customize your own bookshelves with names and organization methods that suit you.
  • πŸ“ˆ Track Reading Progress: Set reading statuses (Read, Want to Read, Currently Reading, Did Not Finish) and track how far you’ve gone.
  • πŸ—£οΈ Reviews and Ratings: Share your thoughts on books you've read and engage with community reviews.
  • πŸ§‘β€πŸ€β€πŸ§‘ Social Features: Add friends, interact with other users’ reviews, and receive notifications.
  • πŸ› οΈ Advanced Search: Find books or users instantly with a responsive search interface.
  • πŸ“Š Book Statistics: Authors and users can view detailed analytics on book interactions.
  • 🌐 Multilingual Support: Interface available in English and Portuguese.
  • 🎨 Modern UI: Vue.js-powered frontend with dynamic and responsive components.

🧱 Tech Stack

Frontend

  • Vue.js – Modern JavaScript framework for building UI
  • Vuex – State management
  • Vue Router – Routing and navigation
  • Axios – HTTP requests
  • Figma – UI prototyping

Backend

  • Java & Spring Boot – Core business logic, REST API
  • Spring Security – Authentication and authorization
  • Spring Data JPA (Hibernate) – ORM and database interaction
  • Redis – In-memory cache for performance
  • PostgreSQL – Relational database

DevOps & Deployment

  • Docker – Containerization
  • Ansible – Infrastructure automation
  • Google Kubernetes Engine (GKE) – Scalable cloud deployment
  • GitHub Actions – CI/CD pipeline

πŸ—οΈ Architecture

The project follows a layered architecture:

  • Presentation Layer: Vue.js frontend + Spring MVC REST API
  • Business Layer: Core logic in Spring Boot
  • Integration Layer: Spring Data JPA (Hibernate)
  • Data Layer: PostgreSQL + Redis

You can find system architecture diagrams and class designs in the /VPP folder.


βš™οΈ Setup & Deployment

Local Development

  1. Frontend:

    cd CoolReads/frontend
    npm install
    npm run serve
  2. Backend:

    cd CoolReads/backend/coolreads
    sudo sh start.sh
    mvn spring-boot:run

Docker

To build and run containers locally:

docker-compose up --build

GKE Deployment (via Ansible)

  1. Set your Google Cloud credentials.
  2. Use Ansible to deploy:
    cd backend/ansible
    ansible-playbook gke-cluster-create.yml
    ansible-playbook coolreads-deploy.yml

πŸ–ΌοΈ Screenshots

Here are some example views of the application in action. (Insert your images in this section)

Home View

Categories View

Detail View

Bookshelf View

To include your own screenshots, add them to a screenshots/ folder in the root of the repository and update the image paths above accordingly.


πŸ“‚ Project Structure

CoolReads/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ ansible/
β”‚   └── VPP/
β”œβ”€β”€ frontend/
β”‚   └── src/
β”‚       β”œβ”€β”€ components/
β”‚       β”œβ”€β”€ views/
β”‚       └── services/
└── Dockerfile

πŸ§ͺ Usability & Evaluation

CoolReads was evaluated through:

  • Expert-based heuristic evaluation
  • Cognitive walkthroughs
  • Empirical testing with early-stage users

Findings and user-centered design insights are documented in the CoolReads___Arquitetura.pdf.


πŸ“œ License

This project was developed as part of the Arquiteturas Aplicacionais course at University of Minho. All rights reserved to the student authors.


πŸ‘₯ Authors

  • AndrΓ© Lucena
  • Carlos Machado
  • GonΓ§alo Sousa
  • JoΓ£o Castro
  • JosΓ© Barbosa

About

its a generic online library

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy