Book tracker web app made using Spring Boot and Vaadin 14 (only the free components will be used).
Features:
- Add books that you have read to a 'to read', 'currently reading', 'read' or 'did not finish' shelf
- View books in your different shelves and make changes
- A rating scale from 0-10 that that goes up in steps of 0.5
- Track your progress towards a reading goal: the number of books or pages you hope to read by the end of the year
Coming soon:
- Add your own shelves
- User registration and accounts
- And much more!
The images above may look slightly different to the app. If major changes are made, new images will be uploaded to reflect this.
Prerequisites:
- JDK 11 (or higher)
- If you don't have Node.js installed globally, it is not needed as Vaadin will install it automatically
- If you do have Node.js installed, please ensure it is at least version 10.0
- Clone the repository
- Import the project as a maven project into your favourite IDE (or run maven on the terminal)
- Run
BookProjectApplication.java
- Go to
localhost:8080
- Log in with the details below:
- Username:
user
- Password:
password
- Username:
You may find lots of errors for things like the log statements, or the entities not having constructors. Below, you can find instructions on how to fix this for IntelliJ and Eclipse.
To remove the errors in IntelliJ, install the Lombok plugin and enable annotation processing. This can be done either in the popup window that appears after installing the Lombok plugin or by checking the 'Enable annotation processing' checkbox in Settings > Build, Execution, Deployment > Compiler > Annotation Processors.
In Eclipse, you will need to run Maven install before running the project (right click anywhere in the pom.xml and select Run as > Maven install).
To access the h2 database:
- Go to
http://localhost:8080/h2-console
- Ensure you log in with the settings below. The password field is intentionally left blank.
- Saved settings:
Generic H2 (Embedded)
- Setting Name:
Generic H2 (Embedded)
- Driver class:
org.h2.Driver
- JDBC URL:
jdbc:h2:mem:testdb
- User Name:
sa
- Password:
- Saved settings:
- Click on connect
If you wish to contribute (thanks!), please first see the contributing document.
For more information, such as a roadmap and the underlying principles of the project, see the Book Project wiki.
If you need help with anything, we'll be happy to help you in our Gitter Channel.