Updated readme and roadmap (#30)

* Create roadmap.md

* Update README.md

* updated readme
This commit is contained in:
Graham Steffaniak 2023-09-10 09:35:30 -05:00 committed by GitHub
parent 356c1f5888
commit 3ae1f5b9d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 26 additions and 44 deletions

View File

@ -18,23 +18,11 @@ Starting with v0.2.0, *ALL* configuration is done via `filebrowser.yaml` configu
This fork makes the following significant changes to filebrowser for origin: This fork makes the following significant changes to filebrowser for origin:
1. [x] Improves search to use index instead of filesystem. 1. [x] Improves search to use index instead of filesystem.
- [x] Lightning fast - Lightning fast, realtime results as you type
- [x] Realtime results as you type - Works with more type filters
- [x] Works with file type filter 1. [x] Improved and simplified GUI navbar and sidebar menu.
- [x] better desktop search view 1. [x] Updated version and dependencies.
1. [x] Preview enhancements 1. [x] **IMPORTANT** Moved all configurations to `filebrowser.yaml`.
- Preview default view is constrained to files subwindow,
which can be toggled to fullscreen.
1. [x] Improved and simplified GUI
- Moved all action buttons to file action bar except for switch-view
- Simplified navbar to 3 main actions: settings,search, and switch-view
- New search view on desktop
1. [x] Updated version and dependencies
- [x] Uses latest npm and node version
- [x] Removes deprecated npm packages
- [x] Updates golang dependencies
- [x] Remove all unnecessary packages, replaces with generic functions.
1. [x] **IMPORTANT** Moved all configurations to `filebrowser.yaml`. no more flags or binary operations to db
## About ## About
@ -48,10 +36,6 @@ work better in terms of asthetics and performance. Improved search,
simplified ui (without removing features) and more secure and up-to-date simplified ui (without removing features) and more secure and up-to-date
build are just a few examples. build are just a few examples.
There are a few more changes needed to get it to a stable status where it
will only recieve security updates. These changes are mentioned above.
Once this is fully complete, the only updates to th
## Look ## Look
<p align="center"> <p align="center">
<img width="500" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/35cdeb3b-ab79-4b04-8001-8f51f6ea06bb" title="Dark mode"> <img width="500" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/35cdeb3b-ab79-4b04-8001-8f51f6ea06bb" title="Dark mode">
@ -60,9 +44,9 @@ Once this is fully complete, the only updates to th
<img width="300" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/b04d3c1f-154b-45ba-927c-2112926ad3a9" title="Dark mode"> <img width="300" src="https://github.com/gtsteffaniak/filebrowser/assets/42989099/b04d3c1f-154b-45ba-927c-2112926ad3a9" title="Dark mode">
</p> </p>
## Performance ## Search Performance
Search Performance - 100x faster search. However, this will be at expense of RAM. if you have < 1 million 100x faster search. However, this will be at expense of RAM. if you have < 1 million
files and folders in the given scope, the RAM usage should be less than 200MB total. RAM requirements files and folders in the given scope, the RAM usage should be less than 200MB total. RAM requirements
should scale based on the number of directories. should scale based on the number of directories.

View File

@ -5,38 +5,38 @@
? github.com/gtsteffaniak/filebrowser/auth [no test files] ? github.com/gtsteffaniak/filebrowser/auth [no test files]
? github.com/gtsteffaniak/filebrowser/cmd [no test files] ? github.com/gtsteffaniak/filebrowser/cmd [no test files]
PASS PASS
ok github.com/gtsteffaniak/filebrowser/diskcache 0.004s ok github.com/gtsteffaniak/filebrowser/diskcache 0.003s
? github.com/gtsteffaniak/filebrowser/errors [no test files] ? github.com/gtsteffaniak/filebrowser/errors [no test files]
? github.com/gtsteffaniak/filebrowser/files [no test files] ? github.com/gtsteffaniak/filebrowser/files [no test files]
PASS PASS
ok github.com/gtsteffaniak/filebrowser/fileutils 0.004s ok github.com/gtsteffaniak/filebrowser/fileutils 0.003s
2023/09/02 19:15:20 h: 401 <nil> 2023/09/10 09:17:55 h: 401 <nil>
2023/09/02 19:15:20 h: 401 <nil> 2023/09/10 09:17:55 h: 401 <nil>
2023/09/02 19:15:20 h: 401 <nil> 2023/09/10 09:17:55 h: 401 <nil>
2023/09/02 19:15:20 h: 401 <nil> 2023/09/10 09:17:56 h: 401 <nil>
2023/09/02 19:15:20 h: 401 <nil> 2023/09/10 09:17:56 h: 401 <nil>
2023/09/02 19:15:20 h: 401 <nil> 2023/09/10 09:17:56 h: 401 <nil>
PASS PASS
ok github.com/gtsteffaniak/filebrowser/http 0.094s ok github.com/gtsteffaniak/filebrowser/http 0.082s
PASS PASS
ok github.com/gtsteffaniak/filebrowser/img 0.122s ok github.com/gtsteffaniak/filebrowser/img 0.118s
PASS PASS
ok github.com/gtsteffaniak/filebrowser/rules 0.002s ok github.com/gtsteffaniak/filebrowser/rules 0.002s
PASS PASS
ok github.com/gtsteffaniak/filebrowser/runner 0.004s ok github.com/gtsteffaniak/filebrowser/runner 0.003s
goos: linux goos: linux
goarch: amd64 goarch: amd64
pkg: github.com/gtsteffaniak/filebrowser/search pkg: github.com/gtsteffaniak/filebrowser/search
cpu: 11th Gen Intel(R) Core(TM) i5-11320H @ 3.20GHz cpu: 11th Gen Intel(R) Core(TM) i5-11320H @ 3.20GHz
BenchmarkSearchAllIndexes-8 10 5176084 ns/op 2743632 B/op 42785 allocs/op BenchmarkSearchAllIndexes-8 10 5311144 ns/op 2934075 B/op 44569 allocs/op
BenchmarkFillIndex-8 10 3263308 ns/op 18485 B/op 453 allocs/op BenchmarkFillIndex-8 10 3142607 ns/op 18473 B/op 452 allocs/op
PASS PASS
ok github.com/gtsteffaniak/filebrowser/search 0.109s ok github.com/gtsteffaniak/filebrowser/search 0.110s
PASS PASS
ok github.com/gtsteffaniak/filebrowser/settings 0.004s ok github.com/gtsteffaniak/filebrowser/settings 0.005s
? github.com/gtsteffaniak/filebrowser/share [no test files] ? github.com/gtsteffaniak/filebrowser/share [no test files]
? github.com/gtsteffaniak/filebrowser/storage [no test files] ? github.com/gtsteffaniak/filebrowser/storage [no test files]
? github.com/gtsteffaniak/filebrowser/storage/bolt [no test files] ? github.com/gtsteffaniak/filebrowser/storage/bolt [no test files]
PASS PASS
ok github.com/gtsteffaniak/filebrowser/users 0.004s ok github.com/gtsteffaniak/filebrowser/users 0.003s
? github.com/gtsteffaniak/filebrowser/version [no test files] ? github.com/gtsteffaniak/filebrowser/version [no test files]

View File

@ -9,8 +9,7 @@ import (
) )
func TestConfigLoadChanged(t *testing.T) { func TestConfigLoadChanged(t *testing.T) {
configYml = "./testingConfig.yaml" yamlData := loadConfigFile("./testingConfig.yaml")
yamlData := loadConfigFile()
// Marshal the YAML data to a more human-readable format // Marshal the YAML data to a more human-readable format
newConfig := setDefaults() newConfig := setDefaults()
GlobalConfiguration := setDefaults() GlobalConfiguration := setDefaults()
@ -26,8 +25,7 @@ func TestConfigLoadChanged(t *testing.T) {
} }
func TestConfigLoadSpecificValues(t *testing.T) { func TestConfigLoadSpecificValues(t *testing.T) {
configYml = "./testingConfig.yaml" yamlData := loadConfigFile("./testingConfig.yaml")
yamlData := loadConfigFile()
// Marshal the YAML data to a more human-readable format // Marshal the YAML data to a more human-readable format
newConfig := setDefaults() newConfig := setDefaults()
GlobalConfiguration := setDefaults() GlobalConfiguration := setDefaults()

View File

@ -20,7 +20,7 @@ func (s settingsBackend) Save(set *settings.Settings) error {
func (s settingsBackend) GetServer() (*settings.Server, error) { func (s settingsBackend) GetServer() (*settings.Server, error) {
server := &settings.Server{ server := &settings.Server{
Port: 8080, Port: 8080,
NumImageProcessors: 1, NumImageProcessors: 1,
} }
return server, get(s.db, "server", server) return server, get(s.db, "server", server)