A Flask application that allows users to create and share content items among groups of other users, enhanced with cryptographic methods to increase security measures.
- Make sure to install needed Python libraries:
pip install flask flask_uploads pymysql flask-scrypt flask_kvsession pycryptodome
. You also need to install redis separately on your computer, which can be done viabrew install redis
(Mac), through downloadable zip files for Windows, or Ubuntu. - Obtain a self-signed certificate & key (
localhost.crt
,localhost.key
) - Dump database schema into a db (name it
pricosha
) and start your SQL server and redis server viaredis-server
(for Windows just click theredis-server
executable). - Run
python init.py
in command prompt or terminal at the root folder of this project. - Should be running at
https://localhost:5000
!
- Use of flask-scrypt to hash+salt passwords, and included salts in db
- Convert to https using SSL/TLS X509 certificate
- Use redis & flask-kvsession to store session cookies & delete to prevent session replay attacks
- Login
- View content items and information
- Manage tags
- Post a content item
- Tag a content item
- Add friend
- Feature No. 1 - Create/delete/defriend friend group
- Feature No. 2 - Update/delete content items
- Feature No. 3 - Like/Dislike feature for content item
- Feature No. 4 - Profile page for users