Is your feature request related to a problem? Please describe.
Circiutverse is a growing platform and lack of any way to customize its behaviour by users is starting to make problems. For an example implementation of new emails system (#845) or GDPR Compliance (#379) are impossible due to lack of settings.
Describe the solution you'd like
Create a new settings page on /users/:id/settings that will match new UX style
The page should contain settings divided into categories. In my opinion, hard-coding options and adding them to the database is a bad decision. I think options should be generated via a configuration file in JSON for example:
{
"name" : "fork-button",
"display_name" : "Hide fork button on project pages",
"category:" : "Platform"
}
That implementation will make settings harder to implement but will benefit in the future. Settings page should be generated via this JSON file. At database, settings can be put into one array cell. The main values like Username Email Password etc. should be hard-coded cause they won't be changed at all. Also, all settings can be represented as an object.
The settings should be accessible from the user's dropdown

Example fields in configuration
Account
Email #845
Platform
Security (#844 contains audit that talks about account security)
Describe alternatives you've considered
There are no other possible implementations at all
Are you working on this? (Yes/No)
Yes (since 5 May)
We can also add an option to customize the key bindings.
how should we implement this in the database ?
@YashKumarVerma The best implementation, in my opinion, will be making some sort of array cell in a database for each user, rather than hard-coding values cause that will make adding new settings not painful at all
Platform
- Might be used in the future
@MrBartusek I think I am missing something here. Can you elaborate?
I think notifications can also be put under the settings tab.
@shubhankarsharma00 done
Good one
Can i work on this @nitin10s @tachyons
Sure
Hey @harshgujrati, I was recently thinking about this issue and I think I could work on it and, as I can see you also claimed #963. Both this and 963 are huge projects so what about that: you will work on i18n and I shall work on that. Please respond!
Okay @MrBartusek i will make a pr in which i will make settings for user and will include language option after that you can add more settings and after completing i18n we can work together on more settings, is that okay @MrBartusek
@harshgujrati are you sure you can handle the whole system that I designed here and i18n? That quite a lot of work
It's best you guys divide the work. I agree with @MrBartusek taking up this and @harsha-iiiv working on i18n.
@harshgujrati what about that?
I was also saying the same that i will implement i18n and you work on settings, in the pr i was only making the setting tab and will add setting column in user database in which we will store the settings in the form of hash which i have done in the assingment of GSoC after that you can add various settings and we will store language preference of the user there only, is that ok @MrBartusek @nitin10s
@harshgujrati I don't think that would be good idea to make one feature in multiple prs, maybe you will work on i18n and add an option to use it after I complete my part, how about that?
okay @MrBartusek
No activity on this issue for a prolonged duration, will be closed if no further activities in next 7 days
Most helpful comment
It's best you guys divide the work. I agree with @MrBartusek taking up this and @harsha-iiiv working on i18n.