Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

markdown# Enterprise File Management Automation

Automated cloud-deployed file organization system built on Azure, Python, Docker, and Terraform.

Business Problem

Enterprise shared drives accumulate thousands of unsorted files across departments — compliance documents mixed with images, HR records scattered across folders, audit files impossible to locate. Manual IT effort to organize these files costs 2+ hours daily and introduces compliance risk.

Solution

An automated pipeline that scans a target directory, categorizes every file by extension, moves files to structured subfolders, and logs every action with a full timestamped audit trail — running as a containerized workload on Azure Container Instance.

Architecture

HR / IT Drop Files │ ▼ GitHub Push → GitHub Actions │ ├── pytest tests ├── Docker build + push to ACR └── Terraform deploy to ACI │ ▼ organizer.py runs │ ├── PDFs/ ├── Images/ ├── Documents/ ├── Scripts/ ├── Videos/ └── Others/ │ ▼ logs/organizer.log

Tech Stack

Layer Technology
Language Python 3.12
Testing pytest (TDD)
Container Docker
Registry Azure Container Registry
Deployment Azure Container Instance
Infrastructure Terraform
State Management Azure Blob Storage
CI/CD GitHub Actions
Secrets GitHub Secrets

File Categories

Category Extensions
PDFs .pdf
Images .jpg .jpeg .png .gif .webp
Documents .docx .doc .txt .md .xlsx .csv
Videos .mp4 .mov .avi .mkv
Scripts .py .js .ts .sh .bash
Audio .mp3 .wav .flac
Others anything else

Project Structure

Enterprise-File-Management-Automation/ ├── .github/ │ └── workflows/ │ └── deploy.yml ├── app/ │ ├── organizer.py │ ├── requirements.txt │ └── tests/ │ └── test_organizer.py ├── data/ │ └── sample_files/ ├── terraform/ │ ├── main.tf │ ├── variables.tf │ └── terraform.tfvars ├── Dockerfile └── .gitignore

Quick Start

1. Clone the repository

git clone https://github.com/eelesin/Enterprise-File-Management-Automation
cd Enterprise-File-Management-Automation

2. Run tests locally

cd app
python -m pytest tests/ -v

3. Add GitHub Secrets ACR_NAME ACR_USERNAME ACR_PASSWORD AZURE_CREDENTIALS AZURE_CLIENT_ID AZURE_CLIENT_SECRET AZURE_TENANT_ID AZURE_STORAGE_KEY SUBSCRIPTION_ID IMAGE_NAME

4. Deploy

git push origin main
# GitHub Actions handles everything automatically

Business Impact

Before After
2+ hours daily sorting 0 minutes
Misplaced compliance docs Correct folder always
No audit trail Full timestamped log
Manual IT effort Fully automated
Compliance risk Audit ready always

Extending For Your Business

The CATEGORIES dictionary is the only change needed:

# HITRUST Compliance
CATEGORIES = {
    "Audit_Docs":  [".pdf", ".doc"],
    "Contracts":   [".pdf", ".docx"],
    "HR_Records":  [".xlsx", ".csv"],
}

# DevOps Environment
CATEGORIES = {
    "Terraform":  [".tf", ".tfvars"],
    "Configs":    [".yaml", ".json"],
    "Logs":       [".log", ".txt"],
}

One codebase. Infinite business applications.

Author

Emmanuel Elesin
Platform Engineer | Cloud Infrastructure | DevOps
LinkedIn | GitHub

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages