{"id":21246848,"url":"https://github.com/apfirebolt/github-repo-management-backend","last_synced_at":"2026-04-10T01:02:17.641Z","repository":{"id":114819661,"uuid":"226308408","full_name":"Apfirebolt/Github-repo-management-backend","owner":"Apfirebolt","description":"Github repo management application in Django, Jquery, Vue and Bulma CSS","archived":false,"fork":false,"pushed_at":"2025-06-13T03:54:16.000Z","size":30386,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-13T04:36:48.427Z","etag":null,"topics":["django","docker","docker-compose","jquery"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Apfirebolt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-12-06T10:52:49.000Z","updated_at":"2025-06-13T03:55:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"d9b586ad-115b-4655-b1cc-606c5a28f47d","html_url":"https://github.com/Apfirebolt/Github-repo-management-backend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Apfirebolt/Github-repo-management-backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apfirebolt%2FGithub-repo-management-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apfirebolt%2FGithub-repo-management-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apfirebolt%2FGithub-repo-management-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apfirebolt%2FGithub-repo-management-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Apfirebolt","download_url":"https://codeload.github.com/Apfirebolt/Github-repo-management-backend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Apfirebolt%2FGithub-repo-management-backend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262302649,"owners_count":23290303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["django","docker","docker-compose","jquery"],"created_at":"2024-11-21T02:08:06.867Z","updated_at":"2025-12-30T22:23:06.279Z","avatar_url":"https://github.com/Apfirebolt.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Django](https://img.shields.io/badge/Django-3.x-brightgreen)\n![Python](https://img.shields.io/badge/Python-3.x-blue)\n![Postgres](https://img.shields.io/badge/Postgres-12.x-blue)\n![Django Rest Framework](https://img.shields.io/badge/DRF-3.x-red)\n\n# Github Manager in Django\n\n\n\n## Features\n\n\n## Requirements\n\n- Python 3.12\n- Django 5.1.4\n- Django Rest Framework\n- Postgresql\n\n## Installation\n\n1. Clone the repository:\n\n    ```bash\n    git clone https://github.com/apfirebolt/django_movie_api.git\n    cd django_movie_api\n    ```\n\n2. Create and activate a virtual environment:\n\n    ```bash\n    python3 -m venv env\n    source env/bin/activate\n    ```\n\n3. Install the required packages:\n\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n4. Apply migrations:\n\n    ```bash\n    python manage.py migrate\n    ```\n\n5. Create a superuser:\n\n    ```bash\n    python manage.py createsuperuser\n    ```\n\n6. Run the development server:\n\n    ```bash\n    python manage.py runserver\n    ```\n\n## Deployment\n\n## Integration with Django with Celery for Cron jobs.\n\nIf you make any changes to the cron job, it is possible that some execution order of those functions might already have been pushed in the queue. You need to clear queues first and then stop both celery-beat and celery-worker.\n\nIn my case, I'm using Redis so I'd simply find all the keys which begin with Celery and would delete those keys kicking off a fresh re-start.\n\n```\nredis-cli KEYS \"celery*\" | xargs redis-cli DEL\n```\n\n```\n# Stop Celery Beat\ncelery -A django_github beat --shutdown\n\n# Stop Celery Workers\ncelery -A django_github worker --shutdown\n```\n\nHere, in this project a sample cron-job is spawned which prints all usernames in a text file every minute. The cron-job is inside tasks.py in github app. \n\n```Python\nfrom celery import shared_task\nfrom celery.utils.log import get_task_logger\nfrom accounts.models import CustomUser\n\nlogger = get_task_logger(__name__)\n\n@shared_task\ndef github_task():\n    logger.info(\"Github Task\")\n    users = CustomUser.objects.all()\n    usernames = [user.username for user in users]\n    \n    with open('usernames.txt', 'w') as file:\n        for username in usernames:\n            file.write(f\"{username}\\n\")\n            logger.info(f\"User: {username}\")\n    \n    return \"Github Task Completed\"\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapfirebolt%2Fgithub-repo-management-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapfirebolt%2Fgithub-repo-management-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapfirebolt%2Fgithub-repo-management-backend/lists"}