Skip to content

lui7henrique/bookwise

Repository files navigation

BookWise PRs Welcome Build Passing

Book Wise is a platform dedicated to book lovers, where you can access an extensive collection of books from different genres that have been previously cataloged. Additionally, you also have the opportunity to contribute your own reviews after logging into the application using your Google or GitHub accounts.

Project cover

Features

  • Social authentication with Google and GitHub
  • Listing of books with category filters
  • Book reviews and comments
  • Search by book names

Layout

The application's layout is available on Figma:

Figma Layout

Running the App

Before you start running the app, make sure you have Docker installed and running on your system. If you don't have Docker installed, you can follow the installation instructions for your operating system on the Docker website.

  1. Create and start a MySQL Docker container:

    # Create and start a MySQL container
    $ docker run --name my-mysql-container -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql:latest

    This command will create a MySQL container named my-mysql-container with the specified root password (my-secret-pw). It will expose port 3306 for database connections.

  2. Clone the project and install the dependencies:

    # Clone this repository
    $ git clone https://github.com/lui7henrique/bookwise.git
    
    # Navigate to the project folder via the terminal
    $ cd bookwise
    
    # Install dependencies
    $ npm install
  3. Create a .env file to add environment variables. It should look like this:

    # Local MySQL database URL
    DATABASE_URL='mysql://root:my-secret-pw@localhost:3306/your-database-name'
    
    # NextAuth configurations and providers
    
    # Project URL
    NEXTAUTH_URL="http://localhost:3000"
    # Random string
    NEXTAUTH_SECRET="dawodkiwdjufdkjnfueisfhisjfhsieuhyfhyfthfdgr"
    
    # Follow the steps in the NextAuth documentation to configure the providers.
    
    # Google Provider
    GOOGLE_CLIENT_ID="................"
    GOOGLE_CLIENT_SECRET=".............."
    
    # GitHub Provider Configurations
    GITHUB_CLIENT_ID="..................."
    GITHUB_CLIENT_SECRET="................."

    Make sure to replace your-database-name with the name of the database you want to use and configure the other environment variables accordingly.

  4. Now, start the application:

    # Start the application in development mode
    $ npm run dev
    
    # The server will start on port: 3000 - access http://localhost:3000

Technologies

Author

Luiz Henrique - Software Engineer

Linkedin | E-mail

About

📚 Full-stack application for rating and managing readings.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published