10 karma · joined January 2, 2019
The challenge mostly comes from having everything encrypted. Some problems I have found so far:
- How to manage schema upgrades of encrypted JSON object data? This would be a simple migration if the data wasn’t encrypted. So far I’ve thought of adding a version field to each encrypted object and add migration steps to upgrade from each version to the newest so old messages would be migrated as they are fetched and then updated with the new schema.
- How to handle synchronization between devices and make it fast and reliable? I’ve thought of adding an endpoint that accepts a cursor and returns the list of changes made to the user’s data since then, such as messages added, updated or deleted which would trigger a API fetch or state update on the app. This could be sent over websockets and a regular endpoint for when it’s down. This is modelled nicely as a queue of changes to the DB for each user from the beginning, where the DB only contains the final state after all changes.
- How to handle conflicting changes made simultaneously so as to not delete user data? This is still mostly unsolved for me.
- There’s probably more as I keep implementing.
This idea has been brewing in me for at least a year now :). Glad I finally got started on it. I would love to hear your thoughts.
Remote: Yes
Willing to relocate: Yes
Technologies: Python (Django), Java (Dropwizard, Spring), Golang, Javascript (React, Vue), CSS (Bootstrap), Ruby on Rails, C#, Docker, AWS, SQL (Postgres), PHP (Laravel), MongoDB, Rust (and a few other langs and techs)
Résumé/CV: https://ross65536.github.io/personal-website/#/resume
Email: rk65536@protonmail.com
I'm fullstack but mostly into backend. Besides web applications, I have developed some mobile apps, and some systems side projects. I'm going to graduate in July with a masters in software engineering, but I've had part-time experience as a fullstack dev, working mostly on web applications with Java, Ruby on Rails and Vue.
Remote: Yes
Willing to relocate: Yes
Technologies: Python (Django), Java (Dropwizard, Spring), Golang, Javascript (React, Vue), CSS (Bootstrap), Ruby on Rails, C#, Docker, SQL (Postgres), PHP (Laravel), MongoDB, Rust (and a few other langs and techs)
Résumé/CV: https://ross65536.github.io/personal-website/
Email: rk65536@protonmail.com
I'm fullstack but mostly into backend. Besides web applications, I have developed some mobile apps, and some systems side projects. I'm going to graduate in July with a masters in software engineering, but I've had part-time experience as a fullstack dev, working mostly on web applications with Java, Ruby on Rails and Vue.
Remote: yes, and only part-time
Willing to relocate: no
So far I have some Fullstack experience:
PHP (Laravel), Python (Django), Ruby on Rails, Javascript (Typescript, VueJS, React, a bit of Angular), CSS (Bootstrap, SASS) SQL (Postgres, MySQL, SQLite), A bit of mongoDB
Other:
C/C++ (did some Linux kernel work with C), Rust, C# (Xamarin, Avalonia), Scala, Java (did some backend server stuff, http client, app), Golang, Bash scripting (built some helper scripts), Devops tools (mostly gitlab CI, Docker)
Résumé/CV: https://github.com/Ross65536 | https://www.linkedin.com/in/rostyslav-khoptiy
Email: rk65536@protonmail.com
Remote: Yes, only part-time
Willing to relocate: No
Technologies:
So far I have some Fullstack experience:
* PHP with Laravel
* Python with Django
* Ruby on Rails
* JS with TS, CSS with Bootstrap, SASS, VueJS and React
* SQL with Postgres, MySQL, SQLite
Other:
* C/C++ (did some Linux kernel work with C)
* Rust (one can hope)
* C# with Xamarin (made an app)
* Java (backend work stuff, http client, app)
* Golang (built HTTP service client)
Résumé/CV: https://github.com/Ross65536
Email: rk65536 at protonmail dot com