Skip to content

InaasHammoush/TheBookNook

Repository files navigation

📚 TheBookNook - Book Lovers' Forum

TheBookNook is a Laravel-based community forum tailored for book enthusiasts. Users can register, participate in discussions, and interact with each other around their favorite books. It allows users to create threads, post comments, bookmark content, and interact with genres (categories). Admin users can manage all users, promote/demote user roles, and moderate content. Email verification is enforced, and the application includes a clean dashboard experience for both users and admins.


🚀 Features

  • User authentication (login, registration, password reset)
  • Email verification upon registration
  • Role-based access control (admin/user)
  • Admin dashboard with user management:
    • Promote/demote users
    • Delete users
    • Search and filter users
  • Thread creation, editing, and deletion
  • Commenting system with editing/deletion
  • Bookmarking threads
  • Search threads by keywords
  • Genre-based categorization
  • Book association with threads: While creating a thread, users can choose a relevant book from a searchable list powered by the Google Books API. Selected book details (title, author, and cover image) are displayed in the thread.

⚙️ Used Technologies:

  • Laravel
  • Google Books API
  • MySQL
  • Aiven

🛠️ Project Setup Instructions

Assumptions:

  • PHP ≥ 8.1
  • Composer installed
  • Node.js + npm installed

If you don't have them installed, check the following links for instructions:

PHP and composer: https://laravel.com/docs/12.x/installation

Node.js and npm: https://docs.npmjs.com/downloading-and-installing-node-js-and-npm

Follow these steps to set up and run the Laravel project locally:

1. Clone the Repository

git clone https://github.com/InaasHammoush/TheBookNook.git

2. Install PHP Dependencies

composer install

3. Copy Environment File

cp .env.example .env

4. Generate Application Key

php artisan key:generate

5. Install Node Dependencies

npm install

6. Build Frontend Assets

npm run dev

7. Serve the Application

php artisan serve

Visit: http://127.0.0.1:8000


📧 Email Verification Setup

To enable email verification, configure your .env mail settings. Example with Gmail:

MAIL_MAILER=smtp
MAIL_SCHEME=null
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your_email_username
MAIL_PASSWORD=your_email_password
MAIL_FROM_ADDRESS="no-reply@example.com"
MAIL_FROM_NAME="${APP_NAME}"

Enjoy using and contributing to the forum app!

About

TheBookNook is a Laravel-based community forum tailored for book enthusiasts. It is a project for a University course about Web Engineering

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages