Skip to content

Abyssalwolf/DocApproval

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Document Approval System

A web-based document approval system built with Flask that allows employees to upload documents and get them approved by their superiors in a hierarchical manner.

Features

  • User authentication with admin and regular user roles
  • Document upload and management
  • Hierarchical approval workflow
  • PDF document approval with digital signatures and remarks
  • Admin dashboard for user management
  • Modern and intuitive UI

App Screenshots

approval preview messages

Prerequisites

  • Python 3.8 or higher
  • pip (Python package installer)

Installation

  1. Clone the repository:
git clone <repository-url>
cd document-approval-system
  1. Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install the required packages:
pip install -r requirements.txt

Configuration

  1. The application uses SQLite as the database, which will be automatically created when you first run the application.

  2. The default admin credentials are:

    • Username: admin
    • Password: admin123

    It's recommended to change these credentials after the first login.

Running the Application

  1. Start the Flask development server:
python app.py
  1. Open your web browser and navigate to:
http://localhost:5000

Usage

Admin User

  1. Log in with the admin credentials
  2. Use the admin dashboard to:
    • Add new users
    • Set user hierarchy levels
    • Manage existing users

Regular Users

  1. Log in with your credentials
  2. Use the dashboard to:
    • Upload PDF documents
    • Select approvers from users with higher hierarchy levels
    • View and manage your uploaded documents
    • Approve documents pending your approval
    • Add remarks and signatures to approvals

Security Notes

  • Change the default admin password immediately after first login
  • The application uses secure password hashing
  • File uploads are restricted to PDF files only
  • Maximum file size is limited to 16MB

File Structure

document-approval-system/
├── app.py              # Main application file
├── requirements.txt    # Python dependencies
├── README.md          # This file
├── uploads/           # Directory for uploaded documents
└── templates/         # HTML templates
    ├── base.html      # Base template
    ├── login.html     # Login page
    ├── dashboard.html # User dashboard
    └── admin_dashboard.html # Admin dashboard

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors