
An open-source book recommendation site.
View On the web
·
Report Bug
·
Request Feature
Table of Contents
BadReads is a self-hosted fullstack microservice based book-recommendation app.
GoodReads but better/Pinterest for books with better recommendations (That's the plan).
The purpose of this project is learning:
- Kubernetes and Docker.
- Self-hosting, administrator duties.
- Developing great REST API's.
- Web/System/container security.
- Building fully functional web-services.
- Infrastructure/IaC.
- Making production grade SaaS products.
- Scalable application architecture.
And provide a easily reproducible, complete full-stack application.
For others trying to learn how to build applications for the web.
Make sure ports 80 and 443 are free.
Clone the repository:
git clone https://github.com/Mxkyp/BadReads.git && cd BadReads
Run it:
docker compose up
You can now see the website at localhost
- git
- docker
The project is to be used for educational purposes.
It's very early in development, but as it grows i will try to make it as pristine example of a fullstack app as i can.
So newcomers can have a reference production ready-app as i think there are not so many spring-based examples.
- Add Changelog
- General refactoring
- Website logo and info
- Proper secret handling (HashiCorpVault)
- Tests in pipeline
- Monitoring
- Limit resource usage
- Rollbacks, seamless delivery
- Add Spring security, OAuth2
- Add user, comment services
- Add integration tests
- Consider adding lombok and migrating from maven to gradle
- Simple searchbar with logo
- Simplify the file structure
- external data storage ex. Google Cloud
- find a better book data set
See the open issues for a full list of proposed features (and known issues).
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Mikołaj Pawłoś - Linkedin