100 lines
3.7 KiB
Markdown
100 lines
3.7 KiB
Markdown
# Backslash
|
|
|
|
_A Backlog tracker._
|
|
|
|
STATUS: Pre-Development
|
|
|
|
A self-hosted backlog tracker that enables you to import content, organize, create lists, add notes to lists or individual items, leave reviews and ratings and track progress.
|
|
As this progresses more features will be added of course.
|
|
The end goal is to create a system that allows you to track multiple media types: Books, movies, TV Shows and games etc
|
|
|
|
To begin I will create the system focused on games, the reason being I want to create this system to I can track my game backlog as well as wanting to interact with steam and play around with importing media.
|
|
|
|
There are other options out there that are much better and established but I want to give this project a go in an attempt to improve my programming skills.
|
|
By no means am I a programmer, In my day job im an Infrastructure Operations Engineer so Im likely way out of my depth here but here goes xD
|
|
|
|
My Goal is to create this project with minimal use of AI, I will restrict AI usage to asking questions and brainstorming ideas and best practices, again the goal here is for me to learn programming.
|
|
|
|
## Screenshots and Demo
|
|
|
|
TBC — no working prototype yet.
|
|
|
|
## Getting started
|
|
|
|
As of right now there is no working program, not even a prototype :D
|
|
|
|
### Docker Compose
|
|
|
|
TBC once a working prototype exists.
|
|
|
|
### Kubernetes
|
|
|
|
TBC once a working prototype exists.
|
|
|
|
## Tech stack
|
|
|
|
I want to write the program in go, for no other reason than thats the language I want to learn.
|
|
architectural decisions will be made and change as I go this can be tracked in [DECISIONS.md](DECISIONS.md), as needs and requirements change.
|
|
Im stepping into this blind so continued research is required.
|
|
|
|
## Contributions
|
|
|
|
I am accepting feature requests / bugs however as this is a learning project for now, no prs.
|
|
|
|
## Roadmap
|
|
|
|
Will begin with basic functionality and focus on game management with imports from steam. Still unsure on feature priority / development order
|
|
|
|
## Data storage & Privacy
|
|
|
|
As this is selfhosted you are responsible for all data you hold using this project.
|
|
Please be mindful of other users you may have using the system once the project evolves to allow that.
|
|
I have no idea about best practices when it comes to writing programs that deal with sensitive data such as API keys or PII, I will try to make sure security and privacy take the forefront when it comes to data storage and privacy.
|
|
|
|
## Desired Features
|
|
|
|
### Auth & Security
|
|
|
|
- [ ] Secure Login
|
|
- [ ] Integration with Auth Providers i.e Authentik
|
|
|
|
### Account
|
|
|
|
- [ ] "Families" - Allow users to view / compare libraries, notes, match shared items
|
|
- [ ] General profile customization - Profile Pictures (linked with auth / ldap / gravitar), Custom names, Bio, Profile Pages, publicly shared favourites.
|
|
- [ ] Media preferences
|
|
|
|
### Clients
|
|
|
|
- [ ] WebUI Client
|
|
- [ ] CLI client
|
|
|
|
### Media Importing
|
|
|
|
- [ ] Steam for games
|
|
- [ ] Jellyfin for media (Movies, TV Shows, Audio Books, Books)
|
|
- [ ] Support for other sources
|
|
- [ ] Scraping for descriptions, ratings, images, tags
|
|
|
|
### Organization
|
|
|
|
- [ ] Create lists
|
|
- [ ] Add notes to lists
|
|
- [ ] Add notes to individual items
|
|
- [ ] Leave personal ratings
|
|
- [ ] Filters (Genre, Length (HLTB for games), Themes, Rating)
|
|
- [ ] Sorting (Length (HLTB for games), Rating)
|
|
- [ ] Bulk actions
|
|
|
|
### Recommendations
|
|
|
|
- [ ] recommend media by comparing tags
|
|
- [ ] take into account profile media preferences
|
|
- [ ] separate recommendations based on media preference matches between family members
|
|
- [ ] Public recommendations from external lists such as imdb
|
|
- [ ] recommendations based on steam sale / steam wishlist (default off)
|
|
|
|
## License
|
|
|
|
Backslash is licensed under the GNU AGPL-3.0. See [LICENSE](LICENSE) for the full text.
|