{"id":51564084,"url":"https://github.com/angryfoxx/github-issue-tracker","last_synced_at":"2026-07-10T13:03:45.305Z","repository":{"id":233630090,"uuid":"787509769","full_name":"angryfoxx/github-issue-tracker","owner":"angryfoxx","description":"A GitHub issue tracker to follow GitHub issues with django and drf","archived":false,"fork":false,"pushed_at":"2024-07-11T20:16:12.000Z","size":492,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-07-11T23:14:57.801Z","etag":null,"topics":["celery","celerybeat","django","django-project","django-rest-framework","djangorestframework","mailhog","mailhog-docker","pytest","pytest-django","python","redis","rest-api","tracking"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/angryfoxx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-04-16T16:55:23.000Z","updated_at":"2024-07-11T20:15:11.000Z","dependencies_parsed_at":"2024-04-24T14:49:13.317Z","dependency_job_id":null,"html_url":"https://github.com/angryfoxx/github-issue-tracker","commit_stats":null,"previous_names":["angryfoxx/github-issue-tracker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/angryfoxx/github-issue-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angryfoxx%2Fgithub-issue-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angryfoxx%2Fgithub-issue-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angryfoxx%2Fgithub-issue-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angryfoxx%2Fgithub-issue-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angryfoxx","download_url":"https://codeload.github.com/angryfoxx/github-issue-tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angryfoxx%2Fgithub-issue-tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35331967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-10T02:00:06.465Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["celery","celerybeat","django","django-project","django-rest-framework","djangorestframework","mailhog","mailhog-docker","pytest","pytest-django","python","redis","rest-api","tracking"],"created_at":"2026-07-10T13:03:44.317Z","updated_at":"2026-07-10T13:03:45.292Z","avatar_url":"https://github.com/angryfoxx.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![codecov](https://codecov.io/gh/angryfoxx/github-issue-tracker/graph/badge.svg?token=GFRY4PXFSZ)](https://codecov.io/gh/angryfoxx/github-issue-tracker)\n\n# github-issue-tracker\nA GitHub issue tracker to follow GitHub issues with django and Django Rest Framework.\n\n## Technology Stack\nThis is a list of mostly used technologies and libraries that are used in project:\n\n- [Python](https://www.python.org/) is an interpreted high-level programming language for general-purpose programming.\n\n- [Django](https://www.djangoproject.com/) is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.\n\n- [Django Rest Framework](https://www.django-rest-framework.org/) is a powerful and flexible toolkit for building Web APIs.\n\n- [PostgreSQL](https://www.postgresql.org) is a free and open-source relational database management system emphasizing extensibility and SQL compliance.\n\n- [Redis](https://redis.io) is an open source, in-memory data structure store, used as a database, cache, and message broker\n\n- [Docker](https://www.docker.com) is an application build and deployment tool. It is based on the idea of that you can package your code with dependencies into a deployable unit called a container.\n\n- [Celery](https://docs.celeryproject.org/en/stable/) is an asynchronous task queue/job queue based on distributed message passing.\n\n- [MailHog](https://github.com/mailhog/MailHog?tab=readme-ov-file) is an email testing tool for developers.\n\n\n## Installation\nThis project are used docker to run the project, [download docker here](https://www.docker.com/community-edition) if you haven't done so.\nDocker can't help for some devices. If the project does not work with Docker, [Docker Toolbox](https://docs.docker.com/toolbox/toolbox_install_windows/#step-2-install-docker-toolbox) will help you.\n\nIn order to easy the use of Docker commands, the project has a Makefile that encapsulates the commands you'll need.\n\nBefore running the project, create your own environment file (`.env`). Simply run the following command, and edit the variables:\n```shell\ncp .env.sample .env\n```\n\n### GitHub API Token\nTo use the GitHub API, you need to create a GitHub API token. You can create a token by following the steps below:\n1. Go to your GitHub account settings.\n2. Click on Developer settings.\n3. Click on Personal access tokens.\n4. Click on Tokens (classic).\n5. Click on Generate new token.\n6. Give a name to the token and select the scopes you need.\n(In actually you don't need any scope on this project because public repositories are accessible without permissions. But if you want to access private repositories, you need to select the appropriate scopes.)\n7. Click on Generate token.\n8. Copy the token and paste it to the `.env` file as `GITHUB_API_TOKEN`.\n9. Save the `.env` file.\n\n### Build the project\nTo build the project, run the following command:\n```shell\nmake build\n```\n\n### Run the project\nTo run the project, run the following command:\n```shell\nmake up\n```\n\n### Create superuser\nTo create a superuser, run the following command:\n```shell\nmake django createsuperuser\n```\nThis user will be used to login to the Django admin panel and to access the API.\n\nYou can use that user to login and follow the repositories.\n\n### Access the Django admin panel\n\nTo access the Django admin panel, go to [http://localhost:8000/admin](http://localhost:8000/admin) and login with the superuser credentials.\n\n### Access the API\n\nTo access the API, go to [http://localhost:8000/api](http://localhost:8000/api).\n\nYou can see the list of all active API endpoints.\n\n### Docs\n\nTo access the API documentation, go to [http://localhost:8000/api/schema/redoc/](http://localhost:8000/api/schema/redoc/).\n\nAnd also you can access the Swagger documentation by going to [http://localhost:8000/api/schema/swagger-ui/](http://localhost:8000/api/schema/swagger-ui/).\n\n\n#### Celery and Email\nIn every 1 hour, the project checks the repositories you followed and sends an email if there is an issue created or updated.\n\n(\"gissues.extensions.github_client.tasks.CheckForNewIssues\" task is responsible for this.)\n\nYou can change the schedule time by set the 'CHECK_FOR_NEW_ISSUES_INTERVAL_IN_MINUTES' in the `.env` file.'\n\n\nAlso, you can check the celery tasks by going to [http://localhost:5555](http://localhost:5555).\n\nAnd you can see the emails that are sent by the project by going to [http://localhost:8025](http://localhost:8025).\n\n\n### Makefile command reference\n\n|       Command        | Explanation                                                                                                                                                                       |\n|:--------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n|          up          | Build the containers if not done so, then run them. The logs of all containers will be streamed while the script is running. You can terminate the script to stop the containers. |\n|         down         | Stop all containers and purge all the data in them.                                                                                                                               |\n|        build         | Build the containers.                                                                                                                                                             |\n|       restart        | Restart the containers.                                                                                                                                                           |\n|        start         | Start all containers.                                                                                                                                                             |\n|         stop         | Stop all containers.                                                                                                                                                              |\n|        shell         | Enter the Python shell in Django container.                                                                                                                                       |\n|         test         | Run tests.                                                                                                                                                                        |\n|         mypy         | Run mypy type checking.                                                                                                                                                           |\n|      changelog       | Generate a changelog based on the commit messages.(requires [git-cliff](https://git-cliff.org) to be installed in local environment)                                              |\n|         logs         | Stream all container logs.                                                                                                                                                        |\n| compile-requirements | Compile Poetry requirements and dump it into requirements.txt (requires Poetry to be installed in local environment)                                                              |\n|        django        | Run Django commands. You can add your command in order.                                                                                                                           |\n\n\n## Maintainers\n- Ömer Faruk Korkmaz\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangryfoxx%2Fgithub-issue-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangryfoxx%2Fgithub-issue-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangryfoxx%2Fgithub-issue-tracker/lists"}