KorryKatti / Mirage

a chat app which doesn't store messages on the server
MIT License
9 stars 19 forks source link

Authentication and profile customization [ hacktoberfest ] #42

Open KorryKatti opened 4 days ago

KorryKatti commented 4 days ago

Issue: Implement Login/Registration Popup for Mirage

Mirage currently requires a userinfo.json to function, which makes it difficult for users to share or start using the app without manually setting up this file.

Task:

Create a Login/Registration Popup when Mirage is first launched. Here's what needs to be done:

  1. When the user opens Mirage for the first time, show a popup with two options:

    • Register
    • Login
  2. For Registration, the following fields should be displayed:

    • Username (compulsory)
    • Email (compulsory)
    • Security Key: Use the sample security key from userinfo.json in the repo.
    • Description (optional)
    • Profile Picture (optional): This should allow the input of a .jpg, .png, or .gif URL.

    Save this data in a new file called userprofile.json on the server side.

  3. For Login, the popup should only ask for:

    • Username
    • Email
  4. If the userinfo.json already exists on the client side, the popup should not appear, and Mirage should proceed as normal.

  5. On the server side:

    • The email should be encrypted and stored in userprofile.json.
    • During Login, decrypt the email and match it with the provided username. If they match, the user can log in.

Important Notes:

Optional:

nub-rin commented 4 days ago

Hello again! Would like to give this issue a try, tho I don't want it assigned to me until I am sure I can deliver it. Let me try to implement it and I'll let you know how it goes!!

KorryKatti commented 4 days ago

Hello again! Would like to give this issue a try, tho I don't want it assigned to me until I am sure I can deliver it. Let me try to implement it and I'll let you know how it goes!!

sure , will be waiting for updates

nub-rin commented 3 days ago

Hey! @KorryKatti Before I started to work on this, I have a thought to improve the QoL for developers contributing to this project. What if we split up the code into different files and reference it all in one. I believe by implementing this it would improve any future development in this project. Let me know if it sounds cool so I can create a separate issue for the same and work on it, I think it would only take 1-2 days to do this.

KorryKatti commented 3 days ago

Hey! @KorryKatti Before I started to work on this, I have a thought to improve the QoL for developers contributing to this project. What if we split up the code into different files and reference it all in one. I believe by implementing this it would improve any future development in this project. Let me know if it sounds cool so I can create a separate issue for the same and work on it, I think it would only take 1-2 days to do this.

if nothing breaks then i have no problem with it

nub-rin commented 3 days ago

I'll show it to you first what I am trying to do.

KorryKatti commented 3 days ago

I'll show it to you first what I am trying to do.

sure

nub-rin commented 2 days ago

Hii @KorryKatti Kindly check out #45 and let me know!!