* Finish updating profile * check password and message error * user can change email: add a field + revalidation of new email * Check position of message error in profile/sign in/sign up with flex grid layout * Review the recipe model (SQL) * Describe the use cases in details. * Define the UI (mockups). * Two CSS: one for desktop and one for mobile * Use CSS flex/grid to define a good design/layout * Define the logic behind each page and action. * Implement: .service(services::edit_recipe) .service(services::new_recipe) .service(services::webapi::set_recipe_title) .service(services::webapi::set_recipe_description) * Add support to translations into db model. * Make a Text database (a bit like d-lan.net) and think about translation. [ok] Try using WASM for all the client logic (test on editing/creating a recipe) [ok] How to log error to journalctl or elsewhere + debug log? [ok] Clean the old code + commit [ok] Reactivate sign up/in/out [ok] Change all id to i64 [ok] Check cookie lifetime -> Session by default [ok] Asynchonous email sending and database requests [ok] Try to return Result for async routes (and watch what is printed in log) [ok] Then try to make async database calls [ok] Set email sending as async and show a waiter when sending email. Handle (and test) a timeout (~10s). -> (timeout put to 60s) [ok] Sign out [ok] Read all the askama doc and see if the current approach is good [ok] Handle 404 [ok] Enable Logging to file. [ok] Implement the model as relational with SQLite. [ok] Create and update functions.