Initial Planning
had to merge README.md
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# DECISIONS.md
|
||||
|
||||
A file describing tech stack / feature decisions. sort of a change log
|
||||
|
||||
## The Birth of the project - 2026-10-05
|
||||
|
||||
### Languages:
|
||||
|
||||
#### Backend
|
||||
|
||||
##### GO
|
||||
|
||||
The language I want to learn
|
||||
|
||||
#### Web Frameworks
|
||||
|
||||
##### HTMX
|
||||
|
||||
Server side rendering reducing the number of roundtrips a user has to make to the server. The server still has to make the same number
|
||||
of API calls however from the client side it should take less bandwidth and feel quicker
|
||||
|
||||
#### Web Frontend
|
||||
|
||||
##### HTML
|
||||
|
||||
standard web building blocks, no framework chosen yet
|
||||
|
||||
##### CSS
|
||||
|
||||
standard web building blocks, no framework chosen yet
|
||||
|
||||
##### JS
|
||||
|
||||
standard web building blocks, no framework chosen yet
|
||||
|
||||
### DB
|
||||
|
||||
##### PostgreSQL
|
||||
|
||||
Scales better than something like SQLite at the cost of more learning overhead and setup
|
||||
@@ -1,3 +1,102 @@
|
||||
# backslash
|
||||
# Backslash
|
||||
|
||||
backslash - a backlog tracking program allowing to keep up with all the media you NEED to consume
|
||||
## 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 and get more exposure to full stack development. 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 Project Demos
|
||||
|
||||
TBC
|
||||
|
||||
## 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
|
||||
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 - AGPL-3.0
|
||||
|
||||
see license file [LICENSE](LICENSE).
|
||||
|
||||
Reference in New Issue
Block a user