AssetBlock
is a comprehensive asset management system designed to ensure the security, integrity, and efficiency of asset tracking and management. By utilizing the SHA-256 encryption algorithm, AssetBlock
provides a robust mechanism for hashing and authentication, ensuring that all asset data remains secure and tamper-proof; And the same file can't be uploaded by different users. Once issued, the asset can be transferred betweeen the users seemlessly.
Key features of AssetBlock
include:
- Secure Authentication: Leveraging Firebase for secure user authentication, ensuring that only authorized users can access and manage assets.
- Data Integrity: Utilizing SHA-256 for hashing asset data, ensuring data integrity and providing a secure method for verifying data authenticity.
- Efficient Asset Management: A user-friendly interface for both clients and administrators to manage and track assets effectively.
- Database Integration: Integration with PostgreSQL for reliable and efficient data storage, providing a scalable solution for managing large volumes of asset data.
1. Assume the pip
is already installed.
2. Run the following script in the terminal
pip install -r requirements.txt
1. Create a Web App in Firebase Console
2. Go to Project Settings and click on manage service account permissions
3. Click on the three dots and select create key.
4. Now create a key and download the JSON File.
5. Now replace the contents inside firebase.json
with downloaded JSON.
{
"type": "",
"project_id": "",
"private_key_id": "",
"private_key": "",
"client_email": "",
"client_id": "",
"auth_uri": "",
"token_uri": "",
"auth_provider_x509_cert_url": "",
"client_x509_cert_url": "",
"universe_domain": ""
}
6. Open the .env
file and replace with your postgre password and username
FIREBASE_WEB_API_KEY=YOUR_API_KEY
1. Download PostgreSQL from the Postgre Website
2. Run the following command in the terminal to initialize the database.
python src/process.py
Or
python3 src/process.py
3. Open the .env
file and replace with your postgre password and username
POSTGRE_PASSWORD=YOUR_PASSWORD
POSTGRE_USER=YOUR_USERNAME
Open a terminal and run the following script from the project directory.
cd src
uvicorn api:app --reload
Open another terminal and run the following srcipt from the project directory.
Client 👨💻
streamlit run src/client/client.py
Server 📡
streamlit run src/server/sever.py
Thanks to Paulo Doms's Article which helped me in the SHA-256 Implementation
https://medium.com/@domspaulo/python-implementation-of-sha-256-from-scratch-924f660c5d57