Skip to content

Derecikai/bookish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

bookish

Welcome to bookish, a platform for book lovers to connect, exchange books, and build a community around their shared passion for reading.

Overview

Bookish allows users to create profiles, list their books for exchange, find nearby exchange opportunities, and connect with other readers. Whether you're looking for a specific title, exploring new genres, or simply want to share your favorite books, this app provides a seamless and social book exchange experience.

Technologies Used

  • Frontend:

    • React: A JavaScript library for building user interfaces.
    • Tailwind CSS: A utility-first CSS framework for building modern designs.
  • Backend:

    • Spring Boot: A Java-based framework for building enterprise applications.
    • Spring Data JPA: Simplifies data access using the Java Persistence API (JPA).

Features

  • User Profiles: Create personalized profiles with names, profile pictures, and bios. Track your book exchange history and preferences.

  • Book Listings: List books for exchange with details like title, author, genre, condition, and description.

  • Search and Filters: Robust search engine with filters for genre, author, location, or book condition.

  • Messaging: Built-in messaging system to discuss exchange details and arrange meetups.

  • User Ratings and Reviews: Rate and review exchange partners and received books. Highlight trustworthy users with a rating system.

  • Wishlist: Create wishlists of books you want to read but don't own. Get notifications when a matching book is listed.

  • Notifications: Receive alerts for new book listings, messages, and exchange requests. Customize your notification preferences.

  • Privacy Controls: Control the visibility of your exchange listings and profile information. Block or report users for inappropriate behavior.

  • Ratings and Recommendations: Personalized book recommendations based on your reading history. Aggregate ratings for popular book suggestions.

  • Community Forums: Engage in discussions, share insights, reviews, and reading recommendations in the forum.

  • Virtual Bookshelves: Organize your book collection with virtual bookshelves.

  • QR Codes: Generate QR codes for each book listing to facilitate in-person exchanges.

  • Social Media Integration: Connect your social media profiles and share your book exchange activities with friends.

  • Book Condition Ratings: Implement a rating system for book conditions (e.g., like-new, good, acceptable).

Database Schema

For a detailed view of the database schema, please refer to the Database Schema.

Getting Started

To run bookish locally, follow these steps:

Backend (Spring Boot):

  1. Clone the repository: git clone https://github.com/rainman226/bookish.git
  2. Navigate to the project directory: cd bookish/backend
  3. Run the Spring Boot application: ./mvnw spring-boot:run

The backend will be accessible at http://localhost:8080.

Frontend (React):

  1. Navigate to the frontend directory: cd bookish/frontend
  2. Install dependencies: npm install
  3. Start the React development server: npm start

The frontend will be accessible at http://localhost:3000.

Visit http://localhost:3000 in your browser to access the full application.

Note: Make sure both the backend and frontend are running concurrently for the complete Book Exchange Web App experience.

License

This project is licensed under the MIT License.


Happy reading and happy exchanging! 📚✨