Closed mritsurgeon closed 9 months ago
@mritsurgeon thanks for the UI, but there are a lot of git diffs in the files and you uploaded your log files
I appreciate the effort you've put into this, but I won't merge it. Gickup will have a web UI in the future, but it needs to align with my comfort level and be something I can maintain independently.
I appreciate the effort you've put into this, but I won't merge it. Gickup will have a web UI in the future, but it needs to align with my comfort level and be something I can maintain independently.
Some Screenshots as a direction when you decide to code in your own ui
Project Summary
Original Project
The original project is a command-line interface (CLI) written in Go, designed for backing up code repositories from various sources, including GitHub. The CLI, when executed, performs repository backups and logs relevant information.
Forked Project (mritsurgeon/SourceCodeBackup)
This forked project extends the original CLI by providing a user-friendly web-based graphical user interface (GUI) for managing and visualizing the backup process. The UI is built using React for the frontend and Express (Node.js) for the backend.
Key Features and Components
Backend (Server.js)
WebSocket Communication
Log File Handling
history/history.log
) to record server activities.Backup Execution
spawnGoProcess
) to spawn a Go process for executing backups.Backup Statistics and Configuration Management
/api/backupStatistics
and/api/configFiles
) for retrieving backup statistics and available YAML configuration files.Frontend (App.js, wizard.jsx, history.jsx, summary.jsx, stats.jsx)
React Router and Material-UI
Backup Configuration Wizard
StepWizard
) for creating backup jobs with multiple configuration steps (Step1 to Step5).Real-Time Log Updates
history.jsx
to receive real-time log updates from the server.Summary Page
summary.jsx
) that displays user inputs and allows users to initiate the backup process.Backup Statistics
Purpose of the Forked Project
The primary purpose of this forked project is to enhance the original CLI by adding a user-friendly web-based interface for managing, configuring, and monitoring code repository backups. The UI streamlines the backup configuration process and provides real-time feedback on backup activities, enhancing the overall user experience.
Contribution Highlights
Web-Based GUI
Real-Time Feedback
Backup Statistics
Enhances the user experience with a statistical visualization of successful runs and backup durations.
Configuration File Management
Implements the creation of a new
conf.yml
file during the backup configuration process.Enables fetching and displaying existing
conf.yml
files in the job list (Jobs.jsx
).Initiate Run Feature
gickup
) to support imitating a backup run.Clean and Responsive Design
Additional Contributions and Future Work
Constants Refactoring
const basedirectory + '/backups'
andconst BACKUP_ROOT_FOLDER = '/backups'
).conf.yml
).Future Work