Digitalized version of what has once been done manually on paper. Probably doesn't scale very well, but it fulfills its purpose.
This is a web service primarily written in Rust, utilizing Rocket as web server implementation. It's thought to be run in the LAN of an institution, not to be exposed to the outside world.
Some helper scripts are written in Python.
Thanks for considering doing so! You can take these steps:
Read the code of conduct.
Install Git, Rust and Python 3. We're developing on Linux, though other platforms should work just fine as well.
Clone & navigate into the repository:
git clone https://github.com/dorodere/komplett-normale-busliste.git
cd komplett-normale-busliste
Copy the testing RocketExample.toml
to Rocket.toml
to have a development environment for
Rocket set up:
cp RocketExample.toml Rocket.toml
Initialize the database with some dummy data:
python scripts/init_db.py
Compile, run and let's go!
cargo run
Now open your web browser at http://127.0.0.1:8008
. In the email field you can enter
john_doe@example.com
, hit enter, and click the link output in the console. You're logged in now
and can do whatever you want! (in your local testing instance, komplett-normale-busliste knows
automatically not to really send the email when running in debug mode)
In case you're interested in general concepts, you can take a look at the docs.
First off: Don't. This is a very specific implementation for a very specific usecase, yours is likely to be different from what you really need. Should you really want to host this specific implementation, be aware of user privacy, how you expose what and where, and who exactly you give access to your system.
Probably there will be some instructions here on how to self-host in the future. But for now, no.
So, imagine you'd have an institution which provides a service for its members. This service is a bus driving back and forth between two places on each weekend. But there's a slight problem with it.
You don't really know which kind of bus you'll need. Do you need the one with 1337 seats, which will probably be a lot larger and more costly than others? Or do you need the one with 10 seats? There's no way to tell except than asking every week again how many persons want to use the bus, or by using heuristics.
In an attempt to solve this in a more comfortable way, you instead hand around a paper each week which you get back on Wednesday, containing everyone who wants to use the bus. But this turns out to be a mess: The paper is sometimes in a very bad state, contains unreadable handwriting and most importantly costs you every week again one piece of paper.
Finally, you realise this needs be done in some better way. Probably with a website or app everyone can log in internally, and you automatically receive a nice overview of how many seats you need, who exactly wants to drive, and so on...
So you ask your friendly local confused gamer if they can do something about it. As such, here's the solution!