Skip to content

Client for a book rating mobile app, built with React Native and TypeScript.

License

Notifications You must be signed in to change notification settings

v-prt/bookish-frontend

Repository files navigation

Bookish Frontend

Bookish is a mobile app built with React Native and TypeScript that allows users to discover, organize, and review books. Similar to Goodreads, users can create an account, browse a vast collection of books, and manage their personal library across three bookshelves: "Want to Read," "Currently Reading," and "Read." Users can rate and review books when adding them to their "Read" bookshelf.

Additionally, Bookish offers genre-based recommendations by allowing users to select their favorite genres. The app provides a personalized reading experience by suggesting books based on the user's preferences. Users can also view an overview of their bookshelves, favorite genres, and reading activity on their profile.

Key Features

  • User authentication: Create an account and securely log in.
  • Book browsing: Explore an extensive collection of books from the Google Books API.
  • Bookshelves: Manage books across three bookshelves: "Want to Read," "Currently Reading," and "Read."
  • Ratings and reviews: Rate and review books when adding them to the "Read" bookshelf.
  • Genre preferences: Select favorite genres to receive personalized book recommendations.
  • Profile overview: Display a summary of bookshelves, favorite genres, and reading activity.

Installation

  1. Clone the repository:
    git clone https://github.com/v-prt/bookish-frontend.git
  2. Navigate to the project directory:
    cd bookish-frontend
  3. Install dependencies:
    npm install

Configuration

  1. Create a .env file in the root directory of the project.

  2. Set the following environment variable in the .env file:

    REACT_APP_API_URL=http://<your-ip-address>:<your-port-number>/bookish-api/v1
    

    Replace <your-ip-address> with your computer's IP address (in IPv4 format) and <your-port-number> with the port number you designated for your server in the backend. This will allow your frontend application to send requests to your local server.

    Note: Ensure the .env file is added to your .gitignore to avoid committing sensitive data to your version control system.

    Proceed to the "Server Setup" section below for the details on setting up your backend.

Usage

  1. Start the development server:
    npm start
  2. Run the app on an iOS/Android emulator or physical device:
    npm run ios  # for iOS
    npm run android  # for Android

Testing

Bookish includes unit tests written with Vitest. To run the tests, use the following command:

npm test

Contributing

Contributions are welcome! If you would like to contribute to Bookish, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature/bug fix.
  3. Commit your changes.
  4. Push the branch to your forked repository.
  5. Open a pull request with a detailed description of your changes.

Please ensure that your code adheres to the existing code style and includes appropriate tests.

Server Setup

The server and API for Bookish is available in the bookish-backend repository. Make sure to set up the backend before running the frontend application.

License

License: MIT

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

About

Client for a book rating mobile app, built with React Native and TypeScript.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published