Giter Club home page Giter Club logo

book-project's Introduction

Logo

Build Status Code coverage Slack Code quality

Book tracker web app made with Spring Boot and React (Typescript).

image

The image above is from our mockup designs, so this may look slightly different to the app. If major changes are made, we will upload a new image.

Setup

Prerequisites:

  • JDK 11
  • Node >= 10 for React
  • MySQL 8.0.* or (better) Docker
    • Windows or macOS: install Docker Desktop
    • Linux: install Docker Engine and Docker Compose

As Docker is our recommended approach, our instructions will assume you're following this route.

First, clone the repository.

Running the frontend

  1. Install yarn: npm install -g yarn
  2. Navigate to the frontend/ directory
  3. Run yarn install to install the dependencies
  4. Run yarn start to start the development server
  5. Open localhost:3000

Running the backend

  1. Import the backend directory as a Maven project into your favourite IDE (or run Maven on the terminal)
  2. Start Docker engine (Linux) or Docker desktop (Windows or macOS)

Next, follow one of the approaches below:

1. Start locally with MySQL and phpMyAdmin running in docker

  1. Build the project in the backend/ directory using ./mvnw clean install (Unix) or mvnw.cmd clean install (Windows)
  2. Start the MySQL database using docker-compose up -d mysql phpmyadmin
    • May need to add sudo to this command
  3. Start the application using java -jar target/book-project-0.2.0.jar

2. Start locally in your IDE

  1. Start the MySQL database using docker-compose up -d mysql phpmyadmin
    • May need to add sudo to this command
    • phpmyadmin is optional
  2. Run the project from your IDE

Fixing Lombok errors

You may find lots of errors for things like the log statements, or the entities not having constructors. You can find instructions on fixing this for IntelliJ and Eclipse in our troubleshooting wiki page. Other common errors and solutions are also on the troubleshooting page.

Access database

To access the MySQL database when docker-compose is running:

  1. Go to http://localhost:8081/
  2. Log in with the details below:
    • Username: root
    • Password: rootpassword
  3. Click on connect

Alternatively, you can access the database inside IntelliJ Ultimate.

Contributing

If you wish to contribute (thanks!), please first see the contributing document.

Help

If you need help with anything, we'll be happy to help you over a GitHub Q&A discussion.

Further information

For more information, such as a roadmap and the project's underlying principles, see the Book Project wiki.

To see a list of the open-source software we use, refer to our Acknowledgements file

book-project's People

Contributors

knjk04 avatar kaansonmezoz avatar tomglk avatar rivad2 avatar chflick avatar masterdobby avatar ofvoler avatar jacobdadoun avatar anoop01234 avatar ashusharmatech avatar ybrecher avatar mareksmelko777 avatar zackhollander avatar rubenamcruz avatar judeibe avatar gxpinheiro avatar kumawatanupriya avatar osopromadze avatar mikelowrie avatar josephkenny avatar tmrd993 avatar kateerfle avatar pratikbongale avatar abhity16 avatar eklecky avatar jumismo avatar puttamshetty avatar andreasmetankova avatar shreyaprabhu avatar gm7y8 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.