bartosz-skejcik / devdeck

This project is a new tab extension that enhances the functionality of your browser's new tab page. It allows you to customize the appearance and add useful features to make your browsing experience more productive.
5 stars 2 forks source link

Implement user system #2

Open bartosz-skejcik opened 10 months ago

bartosz-skejcik commented 10 months ago

We need a basic user system. When the users first installs and runs the extension, he will be prompted with a modal to give a firstName and lastName as well as an optional avatarUrl. the whole user object should be stored in useUserPreferences store. The user info should be displayed in the user button (top right corner) instead of the hardcoded value

Checklist:

Jester0027 commented 9 months ago

Should it be persisted somewhere ? If the whole avatar for example should be stored on the disk, the local storage could be a limiting factor (max 5MiB). If this is persisted on the client I think IndexedDB would be a great option and could also be used to store other configuration, caches, etc...

bartosz-skejcik commented 9 months ago

Should it be persisted somewhere ? If the whole avatar for example should be stored on the disk, the local storage could be a limiting factor (max 5MiB). If this is persisted on the client I think IndexedDB would be a great option and could also be used to store other configuration, caches, etc...

I was thinking of an external database. So that if the user changes his browser or uses a different computer, the configuration would stay the same after logging in.

The thing is that a have a dilemma. Should we write the changes to the database each time the user changes something, or should we add like a button to backup their account in the settings?

The other thing is which db should we use? I heard about a lot of different ones. The best option would be something with in-built user authentication system.

Jester0027 commented 9 months ago

I was thinking of an external database. So that if the user changes his browser or uses a different computer, the configuration would stay the same after logging in.

makes sense.

The thing is that a have a dilemma. Should we write the changes to the database each time the user changes something, or should we add like a button to backup their account in the settings?

You could totally persist it every time the user updates his settings and keep a history for example. The only limit of the implementation is your imagination lol (and the server resources of course).

I could help with a backend server if you want, do you have any preferences about technologies/languages ?

bartosz-skejcik commented 9 months ago

You could totally persist it every time the user updates his settings and keep a history for example. The only limit of the implementation is your imagination lol (and the server resources of course).

I could help with a backend server if you want, do you have any preferences about technologies/languages ?

I already have a proxy server running for spotify and atlassian apis here For the database i was thinking maybe something already prebuilt like supabase or anything of that kind. Preferably free XD

Jester0027 commented 9 months ago

I created a discussion to leave the talk about the infrastructure side there and keep this issue simple

Jester0027 commented 9 months ago

I'll maybe take a look at it this w-e

bartosz-skejcik commented 9 months ago

I created a discussion to leave the talk about the infrastructure side there and keep this issue simple

Ohhh thats perfect :)