rusve

Open source application build using SvelteKit and Rust as modules connected via gRPC.

MIT License

Stars
167
Committers
4
rusve - v1.2.0 Latest Release

Published by mpiorowski 10 months ago

What's Changed

More secure auth using direct connection from auth to users service for creating a new user.
Showcase of service-to-service async connection between notes service and users service to get the profile for each note.

Full Changelog: https://github.com/mpiorowski/rusve/compare/v1.1.0...v1.2.0

rusve - v1.1.0

Published by mpiorowski 10 months ago

What's Changed

  • New utils service for handling files and emails
  • Fiels setup rdy for any S3 implementation, also Cloudflare R2
  • Emails send using Sendgrid
  • A little rework auth logic, for the Google Cloud Run serverless work (the http + grpc server did not place nice inside of it)

Full Changelog: https://github.com/mpiorowski/rusve/compare/v1.0.0...v1.1.0

rusve - v1.0.0

Published by mpiorowski 10 months ago

The biggest one

So yeah, that was a big one, it took some time, but I am really happy with the results. So, what's changed? Three biggest one:

  • I decided to remove the Go part completely and move it to my other project SGSG. Why? Much easier to maintain, update and work on it. The idea is, the Go project is a simpler version, SQLite, no serverless, no modules. This one is a little more complicated, spited backend, GCP deployments, etc... And it perfectly fits with the languages it uses.
  • Second one is, I removed the third party's dependency for oauth, and wrote it myself with the use of amazing rust libs. The reason was, while I was testing a lot of them, Supabase, Firebase, Pocketbase, Auth2, name it, I noticed that they only bring troubles, they tied You. So, I decided to try writing it by my own, and it turns out there are amazing libs that helps you with that and it's not that hard.
  • Last one, new subscription flow, moved everything to backend, which is amazing, cos now You can connect to it from any device and got a working subscription flow.

Smaller changes:

  • seperate service for auth using http axum
  • server-side pagination
  • new fronted written using JSDocs (try it, its amazing, fully typed without s build)
  • backend error validation
  • frontend shallow routing
  • streamed data for photos and images
  • new way to handle env variables
  • new authorization flow
  • new client -> server auth using rsa keys

Readme is not yet updated for this changes, wait for it :)

What's Changed

New Contributors

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.23.0...v1.0.0

rusve - v0.23.0

Published by mpiorowski about 1 year ago

Big Update

Cleaning the entire app in preparation for telemetry.

Rust

  • Transitioned everything to PostgreSQL and dropped ORM in favor of pure tokio-postgres, which is amazing, with direct streaming from SQL.
  • Implemented structured logging using the tracing crate.
  • Performed migration using the refinery crate.
  • Improving proficiency with Rust traits! :)

Go

  • Upgraded to the new version 1.21.
  • Also migrated everything to PostgreSQL.
  • Added structured logging using the slog library.
  • Cleaned up the code and added the missing function to delete from the bucket.
  • Improved the Docker deployment process for cleaner deployments.

Client

  • Cleaned up the hooks entry point.
  • Implemented structured logging using the pino library.
  • Added an 'EDIT' function for notes.

What's Changed

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.22.0...v0.23.0

rusve - v0.22.0

Published by mpiorowski over 1 year ago

What's Changed

  • Simplify the auth process with firebase.
  • Everything is done using form actions, no api endpoints in the whole app.
  • This ensures a more secure flow.
  • Form actions allow very easy use of settings cookies and redirecting
  • The main hooks.server.ts also become much more simple thanks to all of this. (Svelte rocks)

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.20.3...v0.22.0

rusve - v0.20.3

Published by mpiorowski over 1 year ago

  • First iteration of another level of security, a oauth2 token added to the metadata as RS256 key imple.
  • Moved Svelte server files into special lib/server folder, this way we make sure they will not be executed on the client.

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.19.2...v0.20.3

rusve - v0.19.2

Published by mpiorowski over 1 year ago

What's Changed

  • Added seperate service, utils, to handle files and emails, using postgres.
  • Cleaned up folder naming, fix files transfers with uuidv7.

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.18.1...v0.19.2

rusve - v0.18.1

Published by mpiorowski over 1 year ago

What's Changed

  • Rewrite whole note service for both Rust and Go to use MySQL
  • Rewrite all ids to use the newest uuid v7
  • All ids are send as bytes via gRPC, much easier to work with them
  • Rust using mysql-async crate
  • Connected it to PlanetScale, which is much better / faster then Neon
  • Users services stays as PostgreSQL, so we have both options

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.17.0...v0.18.1

rusve - v0.17.0

Published by mpiorowski over 1 year ago

What's Changed

  • Fully working PubSub Pull for both Rust and Go

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.16.0...v0.17.0

rusve - v0.16.0

Published by mpiorowski over 1 year ago

What's Changed

  • Added files func to Go services.
  • Merged Utils service into Users services both for go and rust.
  • Made the switch between Rust and Go global, every service now depends on it.

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.15.0...v0.16.0

rusve - v0.15.0

Published by mpiorowski over 1 year ago

What's Changed

Rewrite everything to Diesel / Diesel Async with streaming support.
Even though I am not a fan of ORM, this one is really nice, and in a world of Rust seems like the only one that is production ready.

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.14.2...v0.15.0

rusve - v0.14.2

Published by mpiorowski over 1 year ago

What's Changed

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.14.1...v0.14.2

rusve - v0.14.1

Published by mpiorowski over 1 year ago

What's Changed

  • Decied to make it more Rust OR Go, instead of Rust + 1 small go service
  • Fully working Users and Notes service using Go
  • Making Go a recommended for those who start

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.13.0...v0.14.1

rusve - v0.13.0

Published by mpiorowski over 1 year ago

What's Changed

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.12.0...v0.13.0

rusve - v0.12.0

Published by mpiorowski over 1 year ago

rusve - v0.11.0

Published by mpiorowski over 1 year ago

rusve - v0.10.0

Published by mpiorowski over 1 year ago

rusve - v0.9.2

Published by mpiorowski over 1 year ago

rusve - v0.9.0

Published by mpiorowski over 1 year ago

What's Changed

  • Fuklly working Stripe subsccription flow!

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.8.2...v0.9.0

rusve - v0.8.2

Published by mpiorowski over 1 year ago

Full Changelog: https://github.com/mpiorowski/rusve/compare/v0.7.5...v0.8.2

  • Working email using GCP PubSub