Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plans to improving salvo-cli #23

Open
3 of 31 tasks
fankaiLiu opened this issue Jan 2, 2024 · 4 comments
Open
3 of 31 tasks

Plans to improving salvo-cli #23

fankaiLiu opened this issue Jan 2, 2024 · 4 comments

Comments

@fankaiLiu
Copy link
Collaborator

source of inspiration Improvements to the program will be outlined below

  • use cargo workspace

  • add support for SPA so client side apps can be written.

  • Add support for surrealdb. It can be embedded as well as run in clusters, supports vector embeddings

  • use yaml for config, as this allows other folks in the team not familiar with rust or toml.

  • generate README.md so we know what the next step is. for now it probably doesn't matter as it just cargo run. For
    example I had to read the code to understand where the swagger ui is.

    • PS:After generating the project, readme.md is created . Contains an introduction to the selected orm, data migration, and the initialization process. As well as an introduction to the project directory and files. After running the project, the current swagger-ui page is printed in the console
  • add support for background jobs. I think this is very important to enable rich responsive servers.

  • add support for cron jobs

  • instead of rand_utils.rs considering using specific files such as password.rs.

  • Considering using traits for Services. This would allow us to change the implementation via config.

  • consider consistent naming for routes such as get_user_page_router (for html), get_user_route (for apis), - [ ] delete_user_route and so on.

  • remove demo.rs

  • considering using sub folders for templates.

  • Add support for sending emails. Emails usually have html templates too.

  • Add support for 2fa auth.

  • Add support for App passwords.

  • Add support for updating/reseting passwords.

  • call it open api instead of swagger.

  • add support for login, logout and register in homepage.

  • Add generic pagination concept.

  • add CSRF

  • add localization

  • add systemic and watch support so saving .rs files would automatically build

  • add support for server errors. might be even show stack traces in debug mode?

  • socket.io with https://github.com/Totodore/socketioxide for real time communication

  • in memory as well as distributed caching

  • generic storage using https://opendal.apache.org/. Allowing to easily swap files from files system to cloud storages.

  • Group templates into folder. Such as as templates/admin/users/list_page.html instead of templates/user_list_page.html.

  • Implement 500 internal server error page.

  • Add support for CSS minification/compliation. Might be can use grass which includes support for compiling SASS files so we get benefits for variables and imports that can be merged to a single file.

  • Use layout pages instead of duplicating code.

  • Don't default cors to the following. could be security issue.

@prabirshrestha
Copy link

Probably worth trying out omniqueue-rs for queues. As of now it supports redis, gcp, in memory, rabbitmq and sqs. I just filed a feature request to support other database backends. svix/omniqueue-rs#62.

@fankaiLiu
Copy link
Collaborator Author

Probably worth trying out omniqueue-rs for queues. As of now it supports redis, gcp, in memory, rabbitmq and sqs. I just filed a feature request to support other database backends. svix/omniqueue-rs#62.

Thanks for the advice, I will try

@prabirshrestha
Copy link

I have started working on repo and experiment with how we can improve salvo-cli. I have tried to make the api minimal as possible. Feel free to have a look at https://github.com/prabirshrestha/salvo-template.

cargo install cargo-generate
cargo generate prabirshrestha/salvo-template

Right now beside the README.md it doesn't do any templating as I'm focusing on getting it working. Seems like cargo generate can also be used as a library so might be salvo cli and reuse it?

@fankaiLiu
Copy link
Collaborator Author

I have started working on repo and experiment with how we can improve salvo-cli. I have tried to make the api minimal as possible. Feel free to have a look at https://github.com/prabirshrestha/salvo-template.

cargo install cargo-generate
cargo generate prabirshrestha/salvo-template

Right now beside the README.md it doesn't do any templating as I'm focusing on getting it working. Seems like cargo generate can also be used as a library so might be salvo cli and reuse it?

Thanks for your suggestion, using cargo-generate is a great practice, but it seems that you need to get the code online when you use it, but in China, many users many users can't access github directly, so downloading the code online will be a problem, I don't see any way to solve it for the moment.That's why I previously opted for an offline approach to cli.Do you have any good advice?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants