Contributions are absolutely, positively welcome and encouraged! Contributions come in many forms. You could:
- Submit a feature request or bug report as an issue.
- Ask for improved documentation as an issue.
- Comment on issues that require feedback.
- Contribute code via pull requests.
- Propose a pair-programming session to alepez
Project is currently built with rustc 1.46.0-nightly. This is needed by
rocket. It needs to be built both for wasm32-unknown-unknown and
x86_64-unknown-linux-gnu targets.
To build devand-ui (Yew frontend) add wasm32-unknown-unknown environment:
rustup target add wasm32-unknown-unknownwebpack and yarn are also needed. Refer to devand-ui for additional
documentation about dependencies.
Project can be built inside a Docker container too, see the Dockerfile for a complete build environment.
devand-ui can be tested without any backend, it just uses mock services to
retrieve fake data.
Running of devand-web requires two steps: first you need to build devand-ui
(js, wasm, css files are generated and copied to devand-web), then you can
cargo run inside devand-web directory. devand-web needs a running
postgresql server. A secret must also be provided, it is used to sign and verify
tokens like password recovery url. Secret and PostgreSQL credentials must be
written in a .env like this:
DATABASE_URL=postgres://postgres:password@localhost/devand
DEVAND_SECRET=shii3AhQuahho1shaeW7jooWeeMaYahSChange password and secret with anything valid.
PostgreSQL server can be launched with Docker:
docker run --rm -ti \
-e POSTGRES_PASSWORD=password \
-e POSTGRES_DB=devand \
-p 5432:5432 \
--name devand_db postgresTo build devand-ui and start devand-web:
( cd devand-ui && yarn run build )
( cd devand-web && cargo watch -x check -x test -x run )Be sure that cargo watch is installed otherwise the building process end with an error.
You can install it executing cargo install cargo-watch
To create and test devand-db database migrations, a .env file must be
created inside devand-db directory, with this content:
DATABASE_URL=postgres://postgres:password@localhost/devandTo test devand-mailer a .env file must be created inside devand-mailer
directory, with this content:
DEVAND_SECRET=shii3AhQuahho1shaeW7jooWeeMaYahS
DEVAND_MAILER_SMTP_SERVER=mail.example.com
DEVAND_MAILER_SMTP_USERNAME=noreply@example.com
DEVAND_MAILER_SMTP_PASSWORD=lasdfkjghladfikhjgsol
DEVAND_MAILER_RPC_HTTP_ADDR=0.0.0.0:3030
DEVAND_MAILER_SERVER_URL=http://127.0.0.1:3030
DATABASE_URL=postgres://postgres:password@localhost/devandChange smtp address and credentials as needed. DEVAND_SECRET must be the same
used by devand-web.
In folder development there is an example of .env files and a docker-compose.yml to set up 4 docker container used to try it on localhost:8000.
cd developmentdocker-compose up- connect to
localhost:8000on you browser
Please make attention to:
- file in
db.envPGADMIN_DEFAULT_EMAILuse a valid email - to generate secrets you can use
openssl rand -base64 32