Skip to content

andrewnyhus/RepoVault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RepoVault

Provides interface for automated backups of GitHub repositories you care about. Loosely inspired by https://codeberg.org/forgejo/forgejo

TODO:

  • Create dockerized go server
  • Create database with table for repository
    • backup_enabled
    • owner
    • name
    • latest commit date or latest commit sha (TBD)
    • github clone url
    • RepoVault clone url
  • Task A: Create task for fetching new repos to back up
    • Authenticate with GitHub API
    • Fetch account's repos
      • Insert new records into database, update "last modified" commit or date
    • Fetch starred repos
      • Insert new records into database, update "last modified" commit or date
  • Task B: Create task for actually backing up the repos
    • Authenticate with GitHub API
    • Query database for list of repos to back up
    • Go through each and do a pull if it exists on machine, otherwise do a clone
  • Implement API endpoints
    • Create an endpoint to kick off task A & B
    • Create REST endpoints for repository
      • GET detail
      • GET list
      • PATCH should at least be able to update backup_enabled, possibly more
  • Create frontend to display info on repos and to toggle their backup status. (Thinking to use svelte)

About

Provides interface for automated backups of GitHub repositories you care about. Loosely inspired by https://codeberg.org/forgejo/forgejo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published