2 releases
0.0.1 | Jul 29, 2019 |
---|---|
0.0.0 | Jul 9, 2019 |
#21 in #backend-web
Used in mammoth-macro
75KB
1.5K
SLoC
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.
- Complete
- Add error management.
- Add
Log
andLogger
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
- [...] 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
Dependencies
~8MB
~159K SLoC