- SDMS is a web-based application designed to securely manage documents within an organization. It provides features such as document upload, search, all while enforcing role-based access control (RBAC) to ensure data security and integrity.
- Ensure secure access to the system through user authentication.
- Implement role-based access control (RBAC) to define user permissions based on roles such as admin, manager, and user.
- Allow managers and admins to upload documents securely to the system.
- Provide functionalities to manage uploaded documents
- Enable users to perform searches to locate documents based on keywords, categories, and metadata.
- Implement secure algorithms to ensure that search results are only accessible to authorized users.
- Provide built-in document downloader for users within the application.
- Allow authorized users to manage documents securely, and maintain document integrity.
- Facilitate secure sharing of documents among authorized users, with predefined access controls.
- Implement real-time collaboration features to enable concurrent editing while preventing conflicts and ensuring document consistency.
- HTML
- CSS
- Flask
- Python
- SQLite3
- Role-based access control (RBAC) implemented using Flask's authentication and authorization features
- Hashing passwords using hashlib library
- Secure password storage
- Flask-WTF for form validation and CSRF protection
- Logging sensitive actions and errors using Python's built-in logging module
- Clone the repository:
git clone IskaIV/Secure-Document-Management-System
- Create Python virtual enviroment
python -m venv .venv/
- Activate the virtual enviroment
. .venv/bin/activate
- Install dependencies:
pip install -r requirements.txt
- Run the program
python ./main.py
- Access the application in your web browser at http://localhost:port (port number may vary depending on your configuration).
- Register as a new user or log in with existing credentials.
- Explore the various features of the application, such as document upload, search, file management, and role based access control.