Skip to content

raghav26102000/AuditFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

🔍 AuditFlow

Enterprise Audit Management System

Python Django React PostgreSQL Redis Docker AWS S3 License


AuditFlow is a full-stack web application that streamlines end-to-end audit processes for organizations — featuring real-time collaboration, barcode tracking, file management, role-based access control, and comprehensive reporting.


🚀 Get Started · ✨ Features · 🏗 Architecture · 📸 Screenshots · 🤝 Contributing



📸 Screenshots

Below are live recordings of the platform in action.

Screen Preview
🔐 Login ▶ Watch Login Flow
📊 Dashboard ▶ Watch Dashboard
📋 Audit Form ▶ Watch Form Creation
📝 Draft Management ▶ Watch Drafts
Submitted Audits ▶ Watch Submissions
🛠 Admin Panel ▶ Watch Admin Panel
⚙️ Configuration ▶ Watch Configuration
🚪 Logout ▶ Watch Logout


✨ Features


📋 Audit Management

  • Create and manage audit forms with barcode tracking
  • Support for multiple audit types with customizable categories
  • Draft → Final status management workflow
  • Case status tracking — Yes / No / Incomplete classifications

🔍 Error Tracking & Classification

  • Component-level error tracking with detailed categorization
  • Error definition master data with codes and descriptions
  • Final error category classification
  • Support for components with and without errors
  • Comprehensive remark system for operations and audit notes

👥 User Management & Permissions

  • Role-based access control — Audit Users & Admins
  • Google OAuth integration for seamless sign-in
  • Profile management with picture uploads
  • Permission-based audit portal access

⚡ Real-time Collaboration

  • WebSocket-based real-time notifications (Django Channels)
  • Live audit status updates across all connected users
  • Multi-user collaboration support
  • Presence tracking for active users

☁️ File Management

  • AWS S3 integration for secure, scalable file storage
  • File attachments for error cases and components
  • Support for multiple file formats
  • Automatic file cleanup on record updates

📊 Audit Sampling & Analytics

  • Configurable audit sampling parameters
  • Date range filtering for audit periods
  • Client-based sampling with multiple client support
  • Performer location tracking
  • Research and insufficiency flagging
  • Genuine case classification

🗂️ Master Data Management

  • Audit type configuration
  • Error category and definition management
  • Check status, case status, and change status masters
  • Final error category configuration

📤 Reporting & Export

  • Excel export capabilities for audit data
  • Comprehensive audit logging with change tracking
  • JSON-based data storage for flexible reporting
  • Full audit trail with admin action tracking


🏗 Architecture

┌──────────────────────────────────────────────────────────┐
│                        CLIENT LAYER                      │
│        React.js  ·  Material-UI  ·  Zustand State        │
│              Chart.js  ·  FilePond  ·  WebSocket         │
└────────────────────────┬─────────────────────────────────┘
                         │  HTTP / WebSocket
┌────────────────────────▼─────────────────────────────────┐
│                      GATEWAY LAYER                       │
│          JWT Authentication  ·  Google OAuth             │
│               Django Channels (WS)                       │
└────────────────────────┬─────────────────────────────────┘
                         │
┌────────────────────────▼─────────────────────────────────┐
│                      SERVICE LAYER                       │
│    Django REST Framework  ·  Celery Workers              │
│         Django Channels  ·  Advanced Filtering           │
└──────────┬──────────────────────────┬────────────────────┘
           │                          │
┌──────────▼──────────┐   ┌──────────▼──────────────────┐
│     DATA LAYER      │   │       STORAGE LAYER          │
│  PostgreSQL · Redis │   │   AWS S3 (Files & Uploads)   │
└─────────────────────┘   └─────────────────────────────-┘


🛠 Tech Stack

Layer Technology Purpose
Backend Django 4.x + DRF REST API, business logic
Frontend React.js + Material-UI Responsive, modern UI
Database PostgreSQL Primary data store
Cache / Queue Redis + Celery Sessions, async task processing
Real-time Django Channels WebSocket notifications
File Storage AWS S3 Secure cloud file storage
Auth JWT + Google OAuth Stateless authentication
Containerisation Docker + Docker Compose Dev & production deployment
State Management Zustand Lightweight frontend state
Charts Chart.js Analytics & data visualization
File Upload UI FilePond Drag-and-drop file management


🔄 Audit Workflow

1. Configure Master Data
   └─ Set up audit types, error categories, status masters (Admin Panel)
          │
          ▼
2. Create Audit Form
   └─ Generate form with barcode, sampling params, client & location info
          │
          ▼
3. Record & Classify Errors
   └─ Add component-level errors, attach files (S3), add remarks
   └─ Collaborators see live updates via WebSocket
          │
          ▼
4. Save as Draft or Submit
   └─ Draft: save for later completion
   └─ Submit: lock for final review with full change history
          │
          ▼
5. Analyze & Export
   └─ Review dashboards, filter by date/client, export to Excel


🚀 Quick Start

Prerequisites

Make sure you have the following installed:


1. Clone the Repository

git clone https://github.com/raghav26102000/AuditFlow.git
cd AuditFlow

2. Configure Environment Variables

cp .env.example .env

Edit .env and fill in your values:

# Django
SECRET_KEY=your-secret-key
DEBUG=False
ALLOWED_HOSTS=localhost,127.0.0.1

# Database
DB_NAME=auditflow
DB_USER=postgres
DB_PASSWORD=your-db-password
DB_HOST=db
DB_PORT=5432

# Redis
REDIS_URL=redis://redis:6379/0

# AWS S3
AWS_ACCESS_KEY_ID=your-access-key
AWS_SECRET_ACCESS_KEY=your-secret-key
AWS_STORAGE_BUCKET_NAME=your-bucket-name
AWS_S3_REGION_NAME=us-east-1

# Google OAuth
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret

3. Build & Start with Docker

docker compose up --build -d

4. Run Migrations & Create Superuser

docker compose exec backend python manage.py migrate
docker compose exec backend python manage.py createsuperuser

5. Open the App

Service URL
🌐 Frontend http://localhost:3000
⚙️ API http://localhost:8000/api/
🔧 Admin Panel http://localhost:8000/admin/


🗂️ Project Structure

AuditFlow/
├── backend/                  # Django backend
│   ├── audit/                # Core audit app
│   │   ├── models.py         # Audit, Component, Error models
│   │   ├── views.py          # REST API views
│   │   ├── serializers.py    # DRF serializers
│   │   ├── consumers.py      # WebSocket consumers
│   │   └── tasks.py          # Celery async tasks
│   ├── users/                # User management app
│   ├── masters/              # Master data (types, categories)
│   └── config/               # Django settings & routing
│
├── frontend/                 # React frontend
│   ├── src/
│   │   ├── components/       # Reusable UI components
│   │   ├── pages/            # Route-level pages
│   │   ├── store/            # Zustand state stores
│   │   └── api/              # Axios API clients
│   └── public/
│
├── docker-compose.yml        # Multi-service orchestration
├── Dockerfile.backend        # Backend container
├── Dockerfile.frontend       # Frontend container
└── .env.example              # Environment variable template


🎯 Use Cases

Industry Application
🏭 Manufacturing Quality audit management across production lines
⚖️ Compliance Regulated industry auditing with full traceability
🔄 Service Organizations Process audit tracking and documentation
🌐 Multi-location Enterprises Coordinated audits across distributed teams
🤝 Audit Firms Real-time team collaboration and reporting


🔑 Key Benefits

  • ⚡ Streamlined Workflow — End-to-end audit process management in one platform
  • 🔴 Real-time Collaboration — Live updates and notifications via WebSocket
  • 📜 Comprehensive Tracking — Detailed audit trails and change logging
  • 📦 Scalable Design — Built to handle enterprise-scale audit operations
  • 🎨 Modern UI — Intuitive interface with advanced data visualization


🤝 Contributing

Contributions are welcome! Here's how to get started:

# Fork the repository, then:
git clone https://github.com/your-username/AuditFlow.git
cd AuditFlow

# Create a feature branch
git checkout -b feature/your-feature-name

# Make your changes, then commit
git commit -m "feat: add your feature"

# Push and open a Pull Request
git push origin feature/your-feature-name

Please follow the existing code style and include tests for new features.



📄 License

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



Made with ❤️ by raghav26102000

Star this repo if you find it useful!

GitHub stars GitHub forks

About

Enterprise audit management platform with real-time collaboration, barcode tracking, role-based access control, analytics, and secure cloud-based audit workflows.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors