Status: Completed
Category: Desktop Application · File Management · Productivity Software · System Utilities · Cybersecurity
Project Type: Desktop Software Engineering Project
Overview
Forix is a desktop productivity platform designed to improve software development workflows through intelligent project management, automated file monitoring, secure version management, and workspace analytics. The application combines project organization, automated backups, duplicate detection, encryption, and activity monitoring into a unified desktop environment.
Unlike traditional file managers or backup utilities, Forix continuously observes project directories, automatically records significant file changes, maintains historical snapshots, detects duplicate files, and provides developers with tools to safely manage evolving projects.
The system was designed to reduce accidental data loss, simplify project organization, and provide developers with greater visibility into project health and development activity.
Purpose
Create an intelligent desktop application capable of automating repetitive project management tasks while protecting development work through continuous monitoring, automatic versioning, secure storage, and activity analytics.
Objectives
- Develop a desktop application for project management.
- Monitor project folders in real time.
- Automatically detect file changes.
- Maintain historical project snapshots.
- Support project rollback and recovery.
- Detect duplicate files.
- Secure stored data through encryption.
- Visualize project activity.
- Improve developer productivity.
Problem Statement
Software developers frequently manage large numbers of files that change continuously throughout development. Manual backups, duplicate file management, and project organization become increasingly difficult as projects grow.
Forix automates these repetitive management tasks while providing reliable version recovery, secure storage, and real-time workspace monitoring.
System Architecture
Project Workspace
↓
Real-Time File Monitoring
↓
Event Detection
↓
Version Management
↓
Duplicate Detection
↓
Encrypted Storage
↓
Database
↓
Analytics Dashboard
↓
User Interface
Core Modules
Project Management
Users can create and manage multiple software projects from a centralized workspace.
Responsibilities: Project creation · Workspace organization · Project selection · Metadata management · Storage management
Real-Time File Monitoring
Continuously monitors project directories for file system events.
Detected Events: File creation · File modification · File deletion · File movement · File renaming
The monitoring system operates automatically without requiring user intervention.
Event-Driven Architecture
Rather than periodically scanning folders, Forix follows an event-driven architecture — the operating system immediately notifies the application whenever a file system event occurs.
Advantages: Lower CPU usage · Faster response · Reduced unnecessary processing · Improved scalability
Automatic Versioning
Whenever significant project changes are detected, the application automatically creates a new project snapshot — enabling developers to restore previous versions without manually creating backups.
Snapshot Management
Snapshots preserve the state of project files at different points in time.
Features: Automatic snapshot creation · Historical version storage · Rollback support · Snapshot browsing · Recovery management
Rollback System
Developers can restore projects to previously saved snapshots.
Benefits: Recover accidental changes · Undo destructive modifications · Restore deleted work · Experiment safely
Duplicate Detection
Method: SHA-256 hashing
Instead of comparing filenames, file contents are hashed to identify exact duplicates regardless of name or location.
Advantages: High accuracy · Fast comparison · Reliable duplicate identification
Encryption
Algorithm: AES-256
Objectives: Secure project storage · Protect developer files · Prevent unauthorized access · Maintain data confidentiality
Database
Technology: SQLite
Stored Information: Projects · Snapshots · File metadata · Activity logs · Duplicate information · User preferences
Analytics Dashboard
Provides an overview of project activity: project statistics · file activity · storage usage · snapshot history · duplicate files · recent changes.
User Interface
Developed using PyQt.
Responsibilities: Project navigation · Dashboard visualization · Snapshot management · Duplicate review · Settings management · Activity monitoring
Workflow
Project Selection → Workspace Monitoring → File Event Detection → Snapshot Creation
→ Duplicate Analysis → Encrypted Storage → Database Update → Dashboard Refresh
Engineering Challenges
Major Design Decisions
Advantages
Limitations
Applications
Software development · Project management · Source code protection · File organization · Secure document management · Version history management · Personal productivity
Lessons Learned
Technologies Used
Software: Python · PyQt · SQLite · SHA-256 · AES-256
Engineering Concepts: Desktop Application Development · Event-Driven Programming · File System Monitoring · Version Management · Cryptography · Database Systems · Productivity Software · Software Architecture
Future Improvements
Project Legacy
Forix demonstrated how intelligent automation can simplify software development workflows by combining real-time file monitoring, automatic version management, duplicate detection, encryption, and analytics into a unified desktop platform. The project strengthened expertise in desktop application development, event-driven programming, database management, cryptography, and software architecture while showcasing the design of practical productivity software for modern development environments.