Skip to content

Smart File Manager (SFM) is a digital housekeeper that uses metadata, natural language processing, and AI clustering algorithms to automate file management. SFM can perform smart context searches, navigate directories with an intuitive graph view, and automatically organize your files.

Notifications You must be signed in to change notification settings

COS301-SE-2025/Smart-File-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

banner

Smart File Manager (SFM) is a digital housekeeper that uses metadata, natural language processing, and AI clustering algorithms to automate file management. SFM can perform smart context searches, navigate directories with an intuitive graph view, and automatically sort your files for you. It's a versatile AI file finder and a new best friend for modern computer users.

Git GitHub Figma JavaScript React Node.js Node.js Docker

πŸ“„ Table of Contents

πŸ“© Get our installer here

πŸŽ₯ Demo Videos

Our website

Our website can be found at https://cos301-se-2025.github.io/Smart-File-Manager/

Contact Us

Want to contact us or learn how you can contribute? Send us an email at [email protected]

πŸ“‘ Documentation

πŸ“‹ Demo 1 Documentation

πŸ”— Functional Requirements Document (SRS)
πŸ”— Architectural Specifications
πŸ”— Wireframe Documentation
πŸ”— Research Document
πŸ”— Go API

πŸ“‹ Demo 2 Documentation

πŸ”— Functional Requirements Document (SRS)
πŸ”— Architectural Specifications
πŸ”— Wireframe Documentation
πŸ”— Research Document
πŸ”— Go API
πŸ”— User Manual
πŸ”— Coding Standards

πŸ“‹ Demo 3 Documentation

πŸ”— Functional Requirements Document (SRS)
πŸ”— Architectural Specifications
πŸ”— Wireframe Documentation
πŸ”— Research Document
πŸ”— User Manual
πŸ”— Coding Standards
πŸ”— Technical Installation Manual
πŸ”— User Manual

πŸ“‹ Demo 4 Documentation

πŸ”— Functional Requirements Document (SRS)
πŸ”— Architectural Specifications
πŸ”— Wireframe Documentation
πŸ”— Research Document
πŸ”— User Manual
πŸ”— Coding Standards
πŸ”— Technical Installation Manual
πŸ”— User Manual
πŸ”— Testing Policy
πŸ”— Non Functional Testing Report

πŸ“Š Project Board

The GitHub Project boards are used to track current tasks allocated to each team member, facilitating effective communication, progress monitoring, and ensuring we meet project deadlines while maintaining accountability and transparency throughout the development process.

πŸ”— GitHub Project Board

🀝 Team Profiles

Name Role & LinkedIn Description
Jack Bawden
Golang & Python
LinkedIn
I have a passion for computer science and started self-teaching in 6th grade. I have extensive knowledge of full-stack web development, including curating a complex backend connected to BaaS systems. For web development, I started off with React, eventually moving over to NextJS. I've worked with MongoDB, MySQL, and Postgres databases, with Supabase being my favourite database provider. Through both formal and informal education, I've gained knowledge in a wide variety of technologies. I enjoy the problem-solving aspect of programming.
Philipp du Plessis
Golang & Python
LinkedIn
I'm a developer with a passion for learning new things. I've developed projects ranging from low-level C++ database engines and simulations to a production-ready Flask-based job card and inventory management web app for a company. I prefer low-level and backend development and have a strong interest in heuristic-based AI solutions. I aim to provide value to this project, particularly in terms of the concurrency and natural language processing requirements. I always enjoy the thrill of tackling new and exciting challenges.
Tiaan Bosman
UX & UI Developer
Flutter & Dart
LinkedIn
I love creating impactful user experiences and building good, functional web applications. Beyond programming, I thrive in collaborative environments; supporting, guiding, and working alongside others to achieve shared goals. Problem-solving excites me, and I constantly push myself to improve and deliver my best work. I'm eager to learn more and grow as a developer, and I have experience working on the backend, contributing to full-stack solutions.
Henco Pretorius
Golang & Python
LinkedIn
I'm a passionate developer with a strong interest in theoretical computer science. I enjoy exploring new concepts and applying them to solve real-world problems. My project experience spans from building complex city simulations in C++ to developing JavaScript client libraries for NSQL database management systems. I have extensive experience in database design and implementation, with a solid grasp of both relational and non-relational models. I bring great value to any project thanks to my broad skill set, adaptability, and enthusiasm for contributing wherever I'm needed.
Dewald Colesky
Backend Legend
Golang & Python
LinkedIn
Final year Computer Science student at University of Pretoria passionate about technology and software development. Strong interest in game development (fueled by a lifelong love of gaming) and cybersecurity. Eager to apply academic knowledge to real-world applications in these fields.

πŸ“ Git Structure

Our repository follows a modular monorepo structure, where different components of the system are organized into separate directories:

  • golang/ – Contains the core backend that handles communication with AI services and the frontend, while managing all file operations and system logic.
  • python/ – Houses the AI clustering algorithms responsible for intelligent file system organization and sorting based on content analysis.
  • protos/ – Defines the gRPC protocol buffer definitions that enable efficient inter-service communication across different system components.
  • app/ – Contains the Flutter frontend application that provides the user interface for interacting with the Smart File Manager system.

🌳 Branching Strategy

We follow a structured GitFlow branching model to ensure efficient development and collaboration.

Main Branches

  • main – The stable production branch containing only tested and deployed code.
  • dev – The primary development branch where all feature and system-specific branches are merged. Branching Workflow
  • From dev, feature branches are created for new functionality or fixes. - Once a feature is completed, it is merged back into the dev branch after review.

βœ”οΈ Quality Badges

Coverage Status Dependencies GitHub Issues GitHub Pull Requests GitHub Closed Issues Contributors Last Commit Repository Size CI/CD

About

Smart File Manager (SFM) is a digital housekeeper that uses metadata, natural language processing, and AI clustering algorithms to automate file management. SFM can perform smart context searches, navigate directories with an intuitive graph view, and automatically organize your files.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5