Skip to content

auctumnus/axismundi

Repository files navigation

a conlanging community and platform

Discord GitHub branch check runs Bluesky followers

Screenshots

a screenshot of the axismundi homepage, featuring recent activity a screenshot of a language's page in axismundi, showing recently-added words and translations a screenshot of a user's profile in axismundi, showing their languages and translatables

Features

  • document your conlangs, their dictionaries, their families...
  • collaboration between you and your friends
  • modern, responsive design

to participate in beta tests for our official instance, join our discord

Development

Axismundi is written in Rust, with a simple frontend using Typescript (and some React components).

If you want a full dev environment, run just dev; this will run all the required Docker containers and start the app, auto-reloading on changes.

You will need to fill out a config.json; an example one is provided in ./resources/config.json.

Backend

Run the backend with just run (or inspect the justfile any other time a just command is needed). This assumes a database is running, which can be started with just db.

Services

We use:

  • a PostgreSQL database
  • an S3 compatible storage service (MinIO, or Cloudflare R2, etc ...)
  • Resend for email sending (though it should be easy to swap out for another service)

Layout

The backend has a number of models, which are the main entities in the system, such as User, Language, etc. Then, on top, we have the controllers, which handle the HTTP requests and responses. These abstract over the internal model handling, either through HTML or JSON.

Frontend

The frontend should be built with just build, which uses SWC to compile the Typescript files, and processes the CSS files with LightningCSS.

Testing

We use integration testing with real Postgres and real MinIO, and a mocked email module. The justfile will just set this up for you so long as you have Docker (or some compatible runtime).

License

Axismundi is distributed under the Non-violent Public License. The source for the NVPL can be found at its repo.

About

website for documenting your conlangs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors