trotFunky
1b4a934398
Now that the application is going to have multiple pages, vote data makes no sense to keep with the user. The user struct will be used everywhere to check for authentication, which is not the case for previous votes. Create a new struct and function in src/vote.rs to retrieve existing votes and use them in places where user.votes was used previously. Remove vote-related code from src/auth.rs and the week number dependence that it required.
35 lines
1.5 KiB
Markdown
35 lines
1.5 KiB
Markdown
# Fabula Votes
|
|
|
|
This web application is intended as a simple way to share Truths for an upcoming campaign of [Fabula Ultima](https://need.games/fabula-ultima/),
|
|
vote and who we think wrote them and see some stats !
|
|
|
|
# TODO
|
|
|
|
A list of things that could be implemented/added to the application, some of them are needed for "feature completeness" !
|
|
|
|
- [x] Being able to change from one week to the next
|
|
- [x] Create new weeks for the admin
|
|
- [x] Proper week redirection
|
|
- [ ] Correctly handle non-existing week number
|
|
- [x] Add introduction to the weekly truths
|
|
- [ ] Bundle static assets in the binary
|
|
- [ ] Move the database queries to their own functions
|
|
- [ ] Cache those results
|
|
- [ ] Centralize Markdown parsing ?
|
|
- [x] Use fairings for the different elements
|
|
- [ ] Use guards for User calls ?
|
|
- [ ] Use SQLite Row ID for User IDs rather than regular IDs, for randomness ?
|
|
- [x] Split user from vote data
|
|
|
|
# Dependencies
|
|
|
|
This project currently uses :
|
|
- [Rocket](https://docs.rs/rocket/0.5.1/rocket/), for the web application backend
|
|
- [SQLX](https://docs.rs/sqlx/0.7.4/sqlx/), for database access (this is only expeceted to be used with SQLite)
|
|
- [Tera](https://docs.rs/tera/latest/tera/), for templating
|
|
- [Argon2](https://docs.rs/argon2/latest/argon2/), for password hashing
|
|
- [Pull_down CMark](https://docs.rs/pulldown-cmark/0.11.0/pulldown_cmark/), for markdown rendering
|
|
|
|
# License
|
|
|
|
The code present in this repository is licensed under the Mozilla Public License 2.0.
|