Inspiration

I get this project idea, when I have uploaded my important documents are traced and tempered by any third party site, then I decided to implement a security provider which can never be tempered.

What it does

The security Vault offers you a robust feature to store all of your important documents, then these documents are first encrypted with a encryption key and ipfsHash which is very hard to break down that is the point and the real meaning of security of your documents.

How we built it

Firstly I had created a backend for my application which includes a database where I can store all of my documents. For server side I have used pinata to make temporary storage just in mean time it is uploading. I have also used CORS, to enable or restrict access to resources from different origins. I have used jsonwebtoken for user authentication. I have used multer for handling file upload related queries. I have used mongoose that helps in managing relationships between data , provides schema validation and much more. I have used nodemon to enhance productivity by automatically restarting the server whenever changes are made.

Now for smart contracts I have used solidity and my smart contract is complied and deployed on Etherlink Testnet, on Etherlink testnet Explorer my all transaction are tracked.

For frontend - Axios - to make HTTP requests from the Browser and for fetching data from APIs. Vite - it is used to set up a development server with hot module replacement. I have used ethers.js in the frontend to interact with Ethereum smart contracts, manage wallets, send transactions, and query blockchain data. I have used lucide-react to add scalable vector icons to my application, enhancing the UI with visually appealing. I have used react-hot-toast to show transient messages to users for various events, such as success messages, error alerts I have used react-router-dom to manage navigation and rendering of different components based on the URL. I have used tailwindcss to style React components with a set of predefined classes.

Challenges we ran into

I have faced three challenges in this project first was while I was creating a encrypt file in which I have passed the encryption key , and the challenge was the key was of inappropriate length and in encrypt file I have used 'aes-256-cbc' algo. Second challenge was tailwindcss, it is really not stable and chnages every time, so because of that I need to change my tailwindcss.config file every time. Third challenge was, while I was decrypting the encrypted data. The first and third challenge was due to depreciated package crypto, which is now within node.js.

Accomplishments that we're proud of are -

Robust Full stack integration, which is really very secure. Advanced Blockchain Implementation such as developed and deployed secure smart contracts using Solidity, Etherlink testnet and ethers.js Enhanced File Handling and User Authentication.

What we learned

In this project I leaned and practice a lot about Routing the components in react and encryption, decryption, Etherlink testnet.

What's next for SecurityVault

I will keep maintaining its code and update it time to time.

Built With

Share this project:

Updates