Skip to content

Commit 058f960

Browse files
committed
feat: initialize project
1 parent 6195cb9 commit 058f960

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1613
-279
lines changed

.env.example

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
APP_ENV=
2+
BASE_URL=
3+
SECRET_KEY=
4+
DEBUG=
5+
ALLOWED_HOSTS=
6+
DATABASE_URL=
7+
TRUSTED_ORIGINS=
8+
SENTRY_DSN=
9+
10+
PRETALX__BASE_URL=
11+
PRETALX__API_TOKEN=
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: "Install Python env using UV"
2+
description: "Installs Python environment using UV package manager"
3+
4+
runs:
5+
using: "composite"
6+
steps:
7+
- name: Check out code
8+
uses: actions/checkout@v4
9+
10+
- name: Set up Python version
11+
uses: actions/setup-python@v5
12+
with:
13+
python-version-file: ".python-version"
14+
15+
- name: Load cached venv
16+
id: cached-uv-dependencies
17+
uses: actions/cache@v4
18+
with:
19+
path: .venv
20+
key: venv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
21+
22+
- name: Load cached UV cache
23+
id: cached-uv-cache
24+
uses: actions/cache@v4
25+
with:
26+
path: ~/.cache/uv
27+
key: uvcache-${{ runner.os }}-${{ hashFiles('uv.lock') }}
28+
29+
- name: Install UV Package Manager
30+
uses: astral-sh/setup-uv@v5
31+
with:
32+
version: "0.6.17"
33+
enable-cache: true
34+
35+
- name: Install dependencies
36+
shell: bash
37+
if: steps.cached-uv-dependencies.outputs.cache-hit != 'true'
38+
run: uv sync --all-extras --dev
39+
40+
- name: Activate environment
41+
shell: bash
42+
run: source .venv/bin/activate

.github/workflows/dependabot.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "uv" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "weekly"
12+
target-branch: "dependabot/build-deps" # Creates a separate branch for build dependencies
13+
# Optional: Add labels to identify these PRs
14+
labels:
15+
- "dependencies"
16+
- "build-deps"
17+
# Optional: Set reviewers if needed
18+
# reviewers:
19+
# - "username1"
20+
# - "username2"
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Check Django CI/CD project
2+
3+
on:
4+
- push
5+
- pull_request
6+
7+
jobs:
8+
check:
9+
name: python
10+
runs-on: ubuntu-latest
11+
if: "!contains(github.event.head_commit.message, 'chore:') && !contains(github.event.head_commit.message, 'build(deps):')"
12+
13+
steps:
14+
- name: Check out code
15+
uses: actions/checkout@v4
16+
- name: Install Python environment
17+
uses: ./.github/actions/install-env
18+
- name: Run pre-commit checks
19+
run: uv run pre-commit run --all-files
20+
- name: Minimize uv cache
21+
run: uv cache prune --ci

.gitignore

Lines changed: 135 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,140 @@
1-
# GitHub Pages
2-
_site/
3-
.sass-cache/
4-
.jekyll-cache/
5-
.jekyll-metadata
6-
7-
# macOS
81
.DS_Store
2+
.django_tailwind_cli/
3+
4+
# Byte-compiled / optimized / DLL files
5+
__pycache__/
6+
*.py[cod]
7+
*$py.class
8+
9+
# C extensions
10+
*.so
11+
12+
# Distribution / packaging
13+
.Python
14+
build/
15+
develop-eggs/
16+
dist/
17+
downloads/
18+
eggs/
19+
.eggs/
20+
lib/
21+
lib64/
22+
parts/
23+
sdist/
24+
var/
25+
wheels/
26+
pip-wheel-metadata/
27+
share/python-wheels/
28+
*.egg-info/
29+
.installed.cfg
30+
*.egg
31+
MANIFEST
32+
33+
# PyInstaller
34+
# Usually these files are written by a python script from a template
35+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
36+
*.manifest
37+
*.spec
38+
39+
# Installer logs
40+
pip-log.txt
41+
pip-delete-this-directory.txt
42+
43+
# Unit test / coverage reports
44+
htmlcov/
45+
.tox/
46+
.nox/
47+
.coverage
48+
.coverage.*
49+
.cache
50+
nosetests.xml
51+
coverage.xml
52+
*.cover
53+
*.py,cover
54+
.hypothesis/
55+
.pytest_cache/
56+
57+
# Translations
58+
*.mo
59+
*.pot
60+
61+
# Django stuff:
62+
*.log
63+
local_settings.py
64+
db.sqlite3
65+
db.sqlite3-journal
66+
/media/
67+
/static/
68+
/mediafiles/
69+
/staticfiles/
70+
71+
# Flask stuff:
72+
instance/
73+
.webassets-cache
74+
75+
# Scrapy stuff:
76+
.scrapy
77+
78+
# Sphinx documentation
79+
docs/_build/
80+
81+
# PyBuilder
82+
target/
83+
84+
# Jupyter Notebook
85+
.ipynb_checkpoints
86+
87+
# IPython
88+
profile_default/
89+
ipython_config.py
90+
91+
# pyenv
92+
.python-version
93+
94+
# pipenv
95+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
96+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
97+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
98+
# install all needed dependencies.
99+
#Pipfile.lock
100+
101+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
102+
__pypackages__/
103+
104+
# Celery stuff
105+
celerybeat-schedule
106+
celerybeat.pid
107+
108+
# SageMath parsed files
109+
*.sage.py
110+
111+
# Environments
112+
.env
113+
.venv
114+
env/
115+
venv/
116+
ENV/
117+
env.bak/
118+
venv.bak/
119+
local.env
120+
121+
# Spyder project settings
122+
.spyderproject
123+
.spyproject
124+
125+
# Rope project settings
126+
.ropeproject
9127

10-
# Windows
11-
Thumbs.db
128+
# mkdocs documentation
129+
/site
12130

13-
# Editor files
14-
.vscode/
15-
.idea/
16-
*.swp
17-
*.swo
18-
*~
131+
# mypy
132+
.mypy_cache/
133+
.dmypy.json
134+
dmypy.json
19135

20-
# Logs
21-
npm-debug.log*
22-
yarn-debug.log*
23-
yarn-error.log*
136+
# Pyre type checker
137+
.pyre/
24138

25-
# Temporary files
26-
*.tmp
27-
*.temp
139+
# NodeJS/npm
140+
node_modules/

.pre-commit-config.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
fail_fast: true
2+
repos:
3+
- repo: https://github.com/pre-commit/pre-commit-hooks
4+
rev: v5.0.0
5+
hooks:
6+
- id: check-added-large-files
7+
- id: check-case-conflict
8+
- id: check-json
9+
- id: check-toml
10+
- id: check-yaml
11+
- id: debug-statements
12+
- id: end-of-file-fixer
13+
- id: mixed-line-ending
14+
args: ["--fix=lf"]
15+
- id: trailing-whitespace
16+
args: ["--markdown-linebreak-ext=md"]
17+
- repo: https://github.com/astral-sh/ruff-pre-commit
18+
rev: v0.7.0
19+
hooks:
20+
- id: ruff
21+
types_or: [python, pyi]
22+
args: ["--fix", "--exit-non-zero-on-fix"]
23+
exclude: |
24+
^(
25+
scripts/|
26+
migrations/|
27+
__init__.py|
28+
.venv/|
29+
)
30+
- id: ruff-format
31+
types_or: [python, pyi]

CNAME

Lines changed: 0 additions & 1 deletion
This file was deleted.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2026 Python Philippines
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

Makefile

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
PYTHON=python
2+
MANAGE=manage.py
3+
4+
run:
5+
$(PYTHON) $(MANAGE) runserver
6+
7+
setup-db:
8+
$(PYTHON) $(MANAGE) makemigrations
9+
$(PYTHON) $(MANAGE) migrate
10+
11+
run-pre-commit:
12+
pre-commit run --all-files
13+
14+
run-ruff:
15+
ruff check . && \
16+
ruff format .
17+
18+
run-server-tailwind:
19+
$(PYTHON) $(MANAGE) tailwind runserver
20+
21+
run-tailwind-setup
22+
$(PYTHON) $(MANAGE) tailwind setup
23+
24+
run-tailwind-build:
25+
$(PYTHON) $(MANAGE) tailwind build
26+
27+
run-tailwind-watch:
28+
$(PYTHON) $(MANAGE) tailwind watch
29+
30+
run-tailwind-config:
31+
$(PYTHON) $(MANAGE) tailwind config
32+
33+
run-tailwind-troubleshoot:
34+
$(PYTHON) $(MANAGE) tailwind troubleshoot
35+
36+

0 commit comments

Comments
 (0)