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
- Docker
- Windows or macOS: install Docker Desktop
- Linux: install Docker Engine and Docker Compose
First, clone the repository (you'll need to fork first and then clone your fork if you're contributing).
Next, start Docker engine (Linux) or Docker desktop (macOS or Windows). If you're using an Apple silicon chip, you'll need to uncomment this line.
- Navigate to the frontend/ directory in a terminal
- Run
docker-compose up --buildto build and start the frontend container - Open
localhost:3000once the development server has started
You may want to also want to run our Books API to avoid seeing an error on the search page.
- Navigate to the backend/ directory in a terminal
- Start the MySQL database using
docker-compose up -d mysql phpmyadmin- May need to add sudo to this command
- phpmyadmin is optional
To access the MySQL database when docker-compose is running with the phpmyadmin container:
- 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 or DataGrip.
Note: The backend depends on the database, so please ensure you have started our MySQL database with the instructions in the section above.
You can either run BookProjectApplication.java from your IDE (import as a Maven project) or run the steps below in a terminal:
- Build the project in the
backend/directory using./mvnw clean install(Unix) ormvnw.cmd clean install(Windows) - Start the application using
java -jar book-app/target/book-app-0.2.0.jar
When running the frontend and backend, or only the backend, you can use the following test user:
- Email address:
[email protected] - Password:
password
If you're running the backend, you will need a JWT token for subsequent requests after logging in or creating an account; see our connecting to the backend wiki page.
If you wish to contribute (thanks!), please first see the contributing document.
We work hard to make our project approachable to everyone -- from those new to open-source looking to make their first contribution to seasoned developers.
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.
If you need help with anything, we'll be happy to help you over a GitHub Q&A discussion. Alternatively, feel free to chat with us on the #book-project channel on our Slack workspace.
When asking for help on Slack, we always recommend asking on our #book-project channel, rather than contacting a maintainer directly. This is so that others can offer help and the answer may help someone else.
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

