No description
Find a file
2025-08-23 18:06:23 +02:00
migrations feat(authorship): invite people without existing account as authors/editors (#68) 2025-08-19 06:42:37 +00:00
src feat(security): init CORS middleware 2025-08-23 18:06:23 +02:00
tests feat(auth): implement and verify authorization for all endpoints (#71) 2025-08-21 12:26:01 +00:00
.env.example feat(core): add s3 upload (#38) 2025-08-01 16:18:02 +00:00
.gitignore feat(core): add s3 upload (#38) 2025-08-01 16:18:02 +00:00
Cargo.lock feat(security): init CORS middleware 2025-08-23 18:06:23 +02:00
Cargo.toml feat(security): init CORS middleware 2025-08-23 18:06:23 +02:00
diesel.toml fix: init diesel ORM 2025-05-21 11:44:36 +02:00
LICENSE Initial commit 2025-05-21 09:39:23 +02:00
README.md chore(docs): update development info 2025-07-22 09:13:13 +02:00
shell.nix feat(core): add s3 upload (#38) 2025-08-01 16:18:02 +00:00

researchequals-api

Conventional Commits SemVer NIX

Welcome to the repository for the ResearchEquals API! 👋 We build this back-end with utmost priority for security, performance, and scalability.

It uses Rust as programming language, Actix as web framework, and Diesel for Object-relational mapping (ORM). We only support MySQL databases.

The ResearchEquals API will be used in conjunction with the upcoming ResearchEquals Client and ResearchEquals front-end, to provide the complete ResearchEquals service.

Development

We use Nix to make it as easy as possible to set up your local development environment. Please ensure you have it installed before proceeding.

# Create a reproducible shell environment based on the shell.nix file
nix-shell
cargo run

# Run the test suite
cargo test

The Nix shell contains all the relevant environment variables. For an overview of environment variables, see .env.example

Click here for helpful development commands
# Continuously update your run
cargo watch -x run
# Upgrade the dependencies
cargo upgrade -i allow && cargo update

# Nuke the database
diesel database reset
# Create SQL from schema changes (default: generate schema from SQL)
diesel migration generate --diff-schema migration_name
Our commit guide

For our project, we use Conventional Commits. It is a bit of extra work to get started (for maintainers!) but it brings the benefit of good changelogs 😊

type(scope)!: commit message

BREAKING CHANGE: Description

The types can be (see also):

Scopes (see also the Angular example):

  • auth
  • db
  • x

Contributing

We are currently in the early stages of development. We are only accepting contributions in the form of discussions in the issue until we are stable (estimated December 2025).