I'm looking for ideas and similar projects. Which language, framework, database, etc. would you use?
# Jedi Archives
Curate and review all kinds of files.
- File manager with tags instead of hierarchical structure.
- Implement Both web and GUI.
- GUI. It would be simpler to use default applications to run files.
- Web it would be nice to self-host and allow users to access online without installing.
- Have other fields besides tags, like dates, etc.
- Be able to filter with an advanced search. Using multiple fields and logical operators.
- All files are scanned and tagged with a shared metadata database.
- By default the metadata for every tagged file is automatically uploaded to a shared database.
- There is an edit history to recover the correct tags, in case a user messes the database.
- Duplicate finder.
- Group users with similar interests and provide content suggestion.
- Use torrent under tor like tribler (?).
- Autoseed files with the least health by torrent. If each tracked file was seeded it would probably crash (?)
- Every user is a mod. There is a score based piramid-like structure so that all database changes need to be approved by a user with higher score.
- [Rust Web Development Tutorial: REST API](https://cloudmaker.dev/how-to-create-a-rest-api-in-rust/)
- Choose the GUI library: [link](https://www.slant.co/improve/topics/29898/~gui-libraries-for-rust), [link](https://dev.to/davidedelpapa/rust-gui-introduction-a-k-a-the-state-of-rust-gui-libraries-as-of-january-2021-40gl)
- [Web framework](https://www.slant.co/topics/5733/~web-frameworks-for-rust):
- Backend: Actix, Diesel.
- Frontend: Inferno, Typescript.
- Search for a torrent library. [cratetorrent](https://github.com/mandreyel/cratetorrent/)
- Choose an [advanced search library](https://lemmy.ml/post/183491).
#### Similar projects:
- [etiquette](https://github.com/voussoir/etiquette), tag-based file organizer & search. Web, Flask and SQLite3.
- [tocc](https://tocc.aidinhut.com/), a Tool for Obsessive Compulsive Classifiers. C++.
- [beets](https://beets.readthedocs.io/), the media library management system for obsessive music geeks. Python.
- [calibre](https://calibre-ebook.com/), ebook manager.
- [TMSU](https://tmsu.org/) lets you tag your files and then access them through a nifty virtual filesystem from any other application.
- [tagf](https://github.com/elkhanib/tagf), tag your files and folders to make them easier to find. go.
- [tagfs](https://github.com/harshhemani/tagfs), Tag based file manager written in python (Currently a CLI). Python.
- [carpo](https://github.com/LarryHsiao/carpo_rs), A tool to tag and search files.
- [czkawka](https://github.com/qarmin/czkawka), multi functional app to find duplicates, empty folders, similar images, etc. Rust.
- [ ] Create the database schema, take a look at beets, calibre, etc.
- [ ] Adding data to the database.
- [ ] [Full text search](https://lemmy.ml/post/183491) functionality.