- English README 🇬🇧
- Русский README 🇷🇺
- Project Description
- Main Features
- Technologies
- How to Use
- Authors
CrowdGit is an intuitive application for students and educators designed to automate:
- 🔁 Synchronization of educational materials with GitHub
- 🗂️ Management of local file structures
- 💾 Handling large files (up to 15 GB)
Supports automatic file splitting, reassembly of parts, and caching for faster workflows (https://devman.org/qna/git/chto-takoe-readme/).
- ✅ Automatic upload of changes to GitHub repositories
- 🔽 Download updates with progress tracking
- 📦 Support for files >40 MB via chunked uploads
- 📁 Automated folder creation based on templates
- 📄 File classification: lectures, seminars, homework
- 🔁 Rule-based file renaming and relocation
- 📤 Split large files into smaller chunks
- 📥 Reassemble original files during download
- 📡 Download individual chunks or full files
- 🌗 Light/dark theme toggle
- 📊 Progress bars for operations
- 🧾 Detailed logging
- ❓ Interactive tooltips
- 🧠 Profile saving (token, paths)
- 🔄 Token validity checks
- 🔁 Cancelable operations
- 📶 Internet connection verification
- 🧠 Caching for performance optimization
- 🗄️ SQLite database for metadata storage
- Core Language: Python 3.9+
- API: PyGithub
- UI: Tkinter + sv-ttk
- Networking:
aiohttp(async requests) - Media: Pillow for image processing
- Database: SQLite for metadata
token = "your_github_token"
local_path = "/path/to/folder"
username = "your_name"
repo_name = "username/repo"Click "Create Structure" in the interface- Select files via file explorer
- Specify type: lecture/seminar/homework
- Assign task number
- Click "Synchronize" for two-way sync with GitHub
<a id="authors"></a>
💡 "CrowdGit helps you focus on learning, not file management."