Files here are part of the "Collect" project.
"Collect" is the collection part of the grander "Dewey" project.
The Dewey Project is a grand effort to improve how documents and media are organized across systems which targets comprehension heavy professionals such as doctors, lawyers, and accountants.
The objective is to enable these professionals the opportunity to quickly index and organize their sources in several places potentially across multiple devices without redacting information.
Referencing Actix_web Autoreload docs, install both systemfd
and cargo-watch
with cargo install systemfd cargo-watch
.
Then, you will be able to run bash ./dev-watch.sh
to enable autoreloading actix-web server.
- Install Rust (Stable)
curl https://sh.rustup.rs -sSf | sh
Make sure you can runrustup default stable
andcargo --version
- Install docker Docker CE
Make sure you have
docker-compose
in your path. - Install Rust PostgreSQL CLI tool "diesel"
cargo install diesel_cli --no-default-features --features postgres
Make sure you can rundiesel --version
- Install development tools
cargo install systemfd
&cargo install cargo-watch
You should be able to runbash ./dev-watch.sh
and it should crash since the database likely isn't configured yet.
- Copy
.env.example
to.env
for diesel to know where the DATABASE_URL is (diesel getting started guide). - Start the Posgres, Redis, and Minio services we need
docker-compose up
- Setup the database
diesel setup
(This uses the./migrations/
SQL files)
This application requires that you are using a google apps account to create an app and credentials.
- Create a Google Apps project
- Update the other
.env
file variables for your Google App keys - Add credentials for OAuth 2 web client (This step requires having endpoints created for your web service, you might use something like Authorised redirect URIs:
http://localhost:8088/login/google/callback
) - If you used
http://localhost:8088
in the app, you need to update theROOT_HOST
in the.env
file to match.
Starting the server should be as straight forward as running bash ./dev-watch.sh
, which provides recompilation on watch, and restarting on successful recompilation.
If at any point you scratched your head reading this guide, please open an issue, or tap us on the shoulder and we can freshen up the guide here to help others in the future.