Lucien Cartier-Tilet c5f5e770e2
All checks were successful
continuous-integration/drone/push Build is passing
Fix word name collision, add two new user-related features
This commit changes the primary key of words to a serial number. That
way, two words with the same normalized value will not collide with
one another.

It also adds two new tables in the database:
- Users following languages
- Users learning words

The former can represent two stages of learning a word:
- Either the user is currently learning it
- Or they consider they know it and don’t need to work on it anymore

These two new tables now have their API query available through the
GraphQL API.

This commit also fixes the issue of word-related tables and types not
being dropped when resetting the database.
2023-01-18 10:26:45 +01:00
2023-01-08 17:42:56 +01:00
2023-01-03 16:24:40 +01:00
2023-01-15 22:51:22 +01:00
2023-01-03 15:16:10 +01:00
2023-01-03 16:20:31 +01:00
2023-01-17 01:29:13 +01:00

Ordabok

Introduction

Ordabok is a backend for multimedia dictionaries powered by its users.

Compiling and running the project

This project requires an accessible PostgreSQL database (to store pretty much all of the project's data), an Appwrite instance (for managing user accounts), and an S3 bucket (to store images, videos, and audio). Copy .env.example with

$ cp .env.example .env

and modify the .env file accordingly. You will also need to set the variables for Appwrite and your S3 bucket.

Once this is done, execute the following command to run the backend.

$ cargo run
# or
$ cargo run --release

This makes the API available at http://localhost:8000/, with only three paths:

http://localhost:8000/
GraphiQL interface
GET http://localhost:8000/graphql?query=:query
GET queries for the GraphQL API. However, it does not work due to this issue.
POST http://localhost:8000/graphql
POST queries for the GraphQL API.

License

This project is under the AGPL 3.0 license. You can read the complete text here, and if you just want a quick understanding of it, you can go here.

Languages
Rust 98.3%
PLpgSQL 1.7%