OneStore banner

OneStore

16 devlogs
47h 46m 20s

OneStore is a secure command-line password manager that stores your credentials in the cloud with end-to-end encryption. It uses a unique 5-word keyphrase system to encrypt your passwords locally before syncing to Supabase, ensuring that only you can access your data.

This project uses AI

used copilot for debugging and finding issues in my code to assist me code efficiently and better. I declare that almost all the code is written by me, except for a few lines that copilot has helped me with

Loading README...

Vasi

Logo design and ui designing in progress :)

Attachment
Attachment
Attachment
0
Vasi

Worked on a yubikey connection system, hardware authentication using a static password, but ill be removing as its counterintuitive for the web version ill be implementing. this is merely a log on my work :) github commit to prove work :D

Attachment
0
Vasi

tried to create an ascii yubikey to add into my app, but it looks ugly so im ditching it :(

Attachment
0
Vasi

worked on the first executable release of onestore

Attachment
0
Vasi

Added Readme, APGL License and a release

0
Vasi

Shipped this project!

Hours: 42.36
Cookies: 🍪 111
Multiplier: 2.63 cookies/hr

Release v1
Added basic functionality for onestore, i’ve personally made sure all the functions work on my system. I’ve used good security if i’m not wrong 🤞

Hope ya’ll like it :)

Vasi

Faced another issue with saving password, my implementation was flawed from the beginning, the keyphrase was not loading properly and the signup process was the leading issue, also optimised the database to adjust for production v1. also did lot of testing with the ui, to find any abnormalities. found some and fixed them accordingly. removed redundant file.

Attachment
0
Vasi

Fixed the password storage, it was actually the RLS policies on supabase that needed to be updated for both insertions, updates and selects. Once i fixed that, i sorted some bugs with adding more passwords in the json file. Thats pretty much it for now…

Attachment
0
Vasi

Code prettification, added inline comments for effective maintenance, added a webserver for future password webapp. also worked on database restructuring and went through the supabase docs to see what i can implement. Further plans to allow yubikeys to store key phrases (lets hope there is a way)

Attachment
0
Vasi

Fixed an issue with keyphrases affecting encryption/decryption. On signup the encryption code was encrypting the data with a key “”, which is just empty so decryption of the data with the correct key “{the actual key here}” was returning an error all along. I Fixed this error, but i need to change my password storage method as the appended json is not getting stored on the db

Attachment
0
Vasi

Created a password hash encryption feature that automatically saves encrypted passwords to the database so that it is securely stored

Attachment
0
Vasi

Implemented JWT session token implementation via supabase, because apparently python doesn’t store it for you :(

Attachment
0
Vasi

Added key phrase to login functionality, also did some testing to find out that I haven’t actually handled exceptions thrown by supabase. authentication checks to be implemented, and logout functionality implemented. fixed inconsistencies with UI experience. also did some research on cryptography functions supported by python

Attachment
Attachment
0
Vasi

created the banner for the project

Attachment
0
Vasi

TL;DR I Created a fully functional password generator and created basic authentication logic.
So, I used a library called wonderwords, pretty cool tbh. also using supabase as I mentioned previously. The app generates a few keywords and hashes them with a salt in the database. (security is important as this is also the encryption key for the passwords)

1

Comments

Vasi
Vasi about 1 month ago

forgot to mention the login needs to be fixed

Vasi

Tested the authentication with firebase and found it to be dangerous to leave my firebase project APIs public like that (especially cuz u only have Admin SDK with python), so found supabase which is more forgiving and allows me to leave it fine but with the protection of RLS. Implemented database functionality via supabase and also created Row Level Security (RLS) Policies allowing users to only access their own data on the database.

Attachment
0
Vasi

basic app only with password gen as of now, more unconfirmed features to be added, also user signup will be on a website because i dont really want to take the risk of open API keys. i still have to research about how i can “not” leave my api keys in my code

Attachment
0