mammoth-setup

Crates.iomammoth-setup
lib.rsmammoth-setup
version0.0.1
sourcesrc
created_at2019-07-09 11:53:06.691113
updated_at2019-07-29 22:17:17.746241
descriptionMammoth web-server backend crate.
homepage
repositoryhttps://github.com/mclytar/mammoth-setup
max_upload_size
id147807
size90,676
Gianluca (mclytar)

documentation

README

Mammoth setup

Project 'Mammoth' is an attempt to create an easy-to-use web server executable in Rust.

This repository/crate is the backend library of Mammoth and contains all the logic and server implementations.

The project uses the actix-web framework.

To-Do list

This is the initial To-Do list for the project. Items beginning with [...] have more hidden/non-definitive sub-tasks, possibly depending on the previous tasks.

  • Add a TOML prototype of the possible configuration file.
  • Add the basic definitions for the configuration file.
    • Complete error/severity.
    • Complete config.
    • Complete config/host.
    • Complete config/mammoth.
    • Complete config/module.
    • Complete config/port.
    • Finalize.
    • Version 0.0.1.
  • Add error management.
    • Add Log and Logger traits.
    • Add Validate trait.
    • Add Id trait and Id uniqueness validation.
    • Complete the Error enum definition.
    • Finalize.
    • Version 0.0.2.
      • (Complete Module handling logic).
  • [...] Add the module handling logic.
    • [...] Add version control system for dynamic libraries.
    • Version 0.0.2.
      • (Complete Error management).
  • [...] Add the server construction logic.
  • [...] Finalize the project for version 0.1.0.

Additional and specific To-Do tasks can be found directly into the source code.

Additional notes

Although I did some tests and experiments before, this project is at a very initial stage and I am working at it in my spare time, therefore its development can be very discontinuous.

This repository starts as an "official" refactor of some previous attempts and sketches.

Modules

Mammoth modules are "plug-in" dynamic libraries that contain specific functions. The module question is delicate and requires some unsafe code and the creation of a version control system to avoid conflicts (and possible unexpected or problematic situations) between the same structures having different implementations. Once this project reaches a "stable alpha" version, I will also add more checks and create a template-module repository in order to ease module creation.

License

MIT

Commit count: 36

cargo fmt