Overflows is a light weight job scheduler for your work, help you manage your task with orders.
Both Windows and Linux could use binary files with certain parameters:
$ ./overflows -h
USAGE
overflows [OPTION]
OPTION
-p, --port port number
-m, --mode run mode, choose from [standalone, server]
-h, --help more information about this command
- port: Used to specify the port number of the server, by default it's
8000
. - mode: Used to specify the run mode of the server, choose from
standalone
andserver
, by default it'sstandalone
.
Standalone
mode would use SQLite as database and manage database automatically, while server
mode would use PostgreSQL as database and you need to migrate database schema in the manifest
folder.
Frontend is using Vue3 and Vuetify. Build frontend like a normal vue project.
cd frontend
npm install
npm run build
The default output directory is in backend
folder, you can change it to your own directory if you don't need to build the backend with standalone
mode.
The language used in backend is Go
, and the overall framework is GoFrame
. To enable standalone
mode, we also introduce systray to build a tray app for you. For database schema management, we use Atlas to manage and apply migrations, if you want to use other tools, you could also find the original tables in backend/manifest/database
folder.
To build the backend, you need to install Go
and GoFrame Cli tool
first.
go install github.com/gogf/gf/cmd/gf/v2@latest
And then change the configuration file in backend/manifest/config/
. You can find example configurations there, choose or modify one and change its name to config.yaml
. The configuration file would be built into the binary by default, if you don't want it, you can change the build configuration in hack/config.yaml
and setup a configuration file in where the built binary file is used, the binary file would read from that automatically.
Linux and windows have some different build configurations, you need to choose it in hack/config.yaml
. After that, you can use gf
to build the backend.
cd backend
gf build
You will find the binary file in backend/temp
folder.
Databases used for this project are SQLite and PostgreSQL. The standalone
mode would use SQLite as database and basically you don't need to manage it manually. If you want to use server
mode, you need to prepare a PostgreSQL server with the same settings in config.yaml
or set your own database and change the configuration.
- Default database:
overflows
- Default user:
overflower
- Default password:
Passw0rd
Then you can install atlas
and use it to manage and apply migrations, if you are not using the default database, you may also need to change the backend/atlas.hcl
file.
cd backend
atlas migrate apply --env local
- When using
standalone
mode locally, build the static files package by runninggf build
inbackend
folder with the same process likegf build
do. Otherwise, file manager can not get migration files.
- Selfhost mode with SQLite
- Server mode with Postgre or Mysql
- Casbin RBAC
- Token login and session login
- Stack sharing
- Login page
- User list page
- Own page
- Admin setting page