Book tracker web app made with Spring Boot and React (Typescript).
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.
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.
- Install yarn:
npm install -g yarn
- Navigate to the
frontend/
directory - Run
yarn install
to install the dependencies - Run
yarn start
to start the development server - Open
localhost:3000
- Import the
backend
directory as a Maven project into your favourite IDE (or run Maven on the terminal) - Start Docker engine (Linux) or Docker desktop (Windows or macOS)
Next, follow one of the approaches below:
- Build the project in the
backend/
directory using./mvnw clean install
(Unix) ormvnw.cmd clean install
(Windows) - Start the MySQL database using
docker-compose up -d mysql phpmyadmin
- May need to add
sudo
to this command
- May need to add
- Start the application using
java -jar target/book-project-0.2.0.jar
- Start the MySQL database using
docker-compose up -d mysql phpmyadmin
- May need to add
sudo
to this command - phpmyadmin is optional
- May need to add
- Run the project from your IDE
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.
To access the MySQL database when docker-compose is running:
- Go to
http://localhost:8081/
- Log in with the details below:
- Username:
root
- Password:
rootpassword
- Username:
- Click on connect
Alternatively, you can access the database inside IntelliJ Ultimate.
If you wish to contribute (thanks!), please first see the contributing document.
If you need help with anything, we'll be happy to help you over a GitHub Q&A discussion.
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