{"id":24405118,"url":"https://github.com/fobiero/iblleague","last_synced_at":"2026-04-14T14:31:34.078Z","repository":{"id":272883155,"uuid":"918053258","full_name":"fobiero/iblLeague","owner":"fobiero","description":"IBL League","archived":false,"fork":false,"pushed_at":"2025-01-31T21:45:53.000Z","size":23319,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-14T02:11:58.695Z","etag":null,"topics":["bootstrap5","django","djangorestframework","dockerfile","javscript","jsx-templates","posgresql","postgresqldatabase","python3","react-hooks","react-router","reactjs","simplejwt"],"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/fobiero.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}},"created_at":"2025-01-17T06:48:18.000Z","updated_at":"2025-01-31T21:45:56.000Z","dependencies_parsed_at":"2025-01-17T08:27:57.477Z","dependency_job_id":null,"html_url":"https://github.com/fobiero/iblLeague","commit_stats":null,"previous_names":["fobiero/iblleague"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fobiero/iblLeague","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fobiero%2FiblLeague","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fobiero%2FiblLeague/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fobiero%2FiblLeague/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fobiero%2FiblLeague/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fobiero","download_url":"https://codeload.github.com/fobiero/iblLeague/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fobiero%2FiblLeague/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267945456,"owners_count":24170219,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"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":["bootstrap5","django","djangorestframework","dockerfile","javscript","jsx-templates","posgresql","postgresqldatabase","python3","react-hooks","react-router","reactjs","simplejwt"],"created_at":"2025-01-20T04:16:47.184Z","updated_at":"2026-04-14T14:31:34.035Z","avatar_url":"https://github.com/fobiero.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Interbase League (IBL)\r\n\r\nInterbase league is a popular football festival based in Nairobi Kibera to be specific. The software acts as a catalyst to ensure the league runs smoothly and thus captures every tiny details.\r\n\r\n[Django](https://www.djangoproject.com/) project template that we use at [KICINCO](https://kicinco.com).\r\n\r\nBest suited for medium-sized and bigger apps that use JavaScript and React for frontend or single page web applications.\r\n\r\n## Features\r\n\r\n- Django-based backend\r\n\r\n  - [Django](https://www.djangoproject.com/)\r\n  - Separate settings for different environments (local/staging/production)\r\n  - Python 3.6 or later\r\n  - [SPA] Accessible from port `:8000` for local development\r\n  - [PostgreSQL](https://docs.djangoproject.com/en/5.1/ref/databases/#postgresql-notes) - Structured database design for clean data fetch\r\n\r\n- Frontend app with JavaScript (ES2015), React and SaaS\r\n\r\n  - Latest JavaScript features from [ES2015](https://babeljs.io/docs/learn-es2015/) and beyond, transpiled with\r\n    [Babel](https://babeljs.io/)\r\n  - [React](https://facebook.github.io/react/) for fast modular user interfaces\r\n  - [Sass](http://sass-lang.com/), [PostCSS](http://postcss.org/) and\r\n  - [Webpack](https://webpack.github.io/) is used to bundle and minify JavaScript and styles\r\n\r\n- Configs \u0026 Run\r\n\r\n  - Docker / Docker Compose integration\r\n  - Linting of Python, JavaScript and Sass code with [Prospector](http://prospector.landscape.io/),\r\n    [ESLint](http://eslint.org/) and [stylelint](https://stylelint.io/)\r\n  - Automated code-formatting using [black](https://black.readthedocs.io) and [prettier](https://prettier.io)\r\n  - [py.test](http://pytest.org/) and [coverage](https://coverage.readthedocs.io/) integration\r\n  - Deploy helpers, using [Ansible](https://www.ansible.com/)\r\n  - Media files are stored in a CDN like S3 or Google Cloud Storage\r\n  - Out-of-the-box configuration for nginx, gunicorn and logrotate\r\n  - Includes [PyCharm](https://www.jetbrains.com/pycharm/) | [VSCode](https://code.visualstudio.com/) project config and cod formatter\r\n\r\n## Usage\r\n\r\nTo use this template, first ensure that you have\r\n[Django](https://docs.djangoproject.com/en/5.1/) available and installed.\r\n\r\nAfter that, you should:\r\n\r\n1. Install the requirements of the project template by running\r\n   ```\r\n   pip3 -m venv env\r\n   ```\r\n2. Activate the virtualenv\r\n   ```\r\n   source ./env/bin/activate\r\n   ```\r\n3. Navigate to the directory where you'd like to create your project:\r\n   ```\r\n   cd /home/project_directory/\r\n   ```\r\n4. Run the following command to install all project packages and dependencies\r\n   ```\r\n    pip install -r requirements.txt\r\n   ```\r\n5. Once the virtual directory is activates, run\r\n   ```\r\n   python manage.py runserver (localhost:8000)\r\n   ```\r\n\r\nSee README.md in the generated project for instructions on how to set up your development environment.\r\n\r\n## Different frontend styles\r\n\r\n### SPA\r\n\r\nIsomorphic Javascript single-page application rendered with node and backed by Django Rest Framework. Enabled with `frontend_style == spa`.\r\nDuring development and production separate node container is used to run and serve assets if needed.\r\nTranslations are done with [i18next](https://www.i18next.com/) and its companion library for React.\r\n\r\n### Webapp\r\n\r\nReact powered application rendered with Django templates. This is the default option. Enabled with `frontend_style == webapp`.\r\nDuring development separate container is used to build assets. In production, node built with multi-stage image.\r\nTranslations are done with Django JavaScriptCatalog.\r\n\r\n## Project dependencies upgrade\r\n\r\nFirst ensure you have a python3 interpreter with `django` installed.\r\n\r\nTo upgrade an existing project, change the current working directory to the root of the project you want to upgrade. i.e. `cd project-to-upgrade`. Ensure your have not checked out the `template` branch.\r\n\r\nThen run `python ~/path/to/django-project-template/upgrade-template.py`\r\n\r\nThis will make a commit to the branch `template` in your project with the updates to the project template. Then merge the `template` branch.\r\n\r\n## Applying codemods\r\n\r\nFirst activate Python 3 interpreter with required dependencies and ensure `docker` is installed and working.\r\n\r\nChange the current working directory to the root of the project you want to apply codemods for. i.e. `cd project-to-upgrade`.\r\n\r\nThen run `python ~/path/to/django-project-template/upgrade-template.py --apply-frontend-codemods`\r\n\r\nThis will build custom docker image to update old frontend versions.\r\n\r\n## Docker images\r\n\r\nThe template uses our own images for CI runs. One for the template itself and a second one\r\nfor generated projects. Both images are alpine based and contain python3, pip and some support\r\npackages. The images are published to [repository container registry](https://gitlab.com/thorgate-public/django-project-template/container_registry) and also to [docker hub](https://hub.docker.com/u/thorgate).\r\n\r\nThe images are built in CI (from default branches only) and also updated every day via schedules.\r\n\r\n**Project CI Image**\r\n\r\n- [Dockerfile-ci](./utils/Dockerfile-ci)\r\n- Image in repository registry: `registry.gitlab.com/thorgate-public/django-project-template/ci`\r\n- Image in docker hub: `thorgate/django-template-ci`\r\n  - [see online](https://hub.docker.com/r/thorgate/django-template-ci)\r\n\r\n**Template CI Image:**\r\n\r\n- [Dockerfile-base-ci](./utils/Dockerfile-base-ci)\r\n- Image in repository registry: `registry.gitlab.com/thorgate-public/django-project-template/base-ci`\r\n- Image in docker hub: `thorgate/django-template-base-ci`\r\n  - [see online](https://hub.docker.com/r/thorgate/django-template-base-ci)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffobiero%2Fiblleague","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffobiero%2Fiblleague","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffobiero%2Fiblleague/lists"}