Home of SpokaneTech.org, an online hub for Spokane's tech events and groups. It's not just a website; it's a community-driven, open-source initiative aimed at fostering learning and collaboration among aspiring and seasoned tech enthusiasts.
See the live site here: https://www.spokanetech.org
Follow development here:
https://spokanetech.github.io/blog/building-spokane-tech/intro/
Workflow | Description | Status |
---|---|---|
Bandit | security checks | |
Isort | python import ordering | |
Mypy | static type checking | |
Radon | code complexity analysis | |
Ruff Format | code formatting | |
Ruff Lint | static code analysis |
- git installed on system
- python installed on system (3.10+ recommended)
-
clone the repo:
git clone git@github.com:SpokaneTech/SpokaneTechWeb.git
-
git config (optional) To enable pre-commit code quality checks, update the location of git hooks with the following command:
git config core.hooksPath .github/hooks
Note: to make a commit with the precommit hooks temporarily disabled, run the following:
git commit --no-verify
-
cd into the repo directory
cd SpokaneTechWeb
-
create a python virtual environment
python -m venv venv
-
activate the python virtual environment
for linux, mac, or wsl:
source venv/bin/activate
for powershell:
venv\Scripts\activate
-
install the python dependencies
pip install .[dev]
** mac users may need to use quotes, such as
pip install ."[dev]"
-
(optional) create a custom .env file and update contents as applicable
cp src/envs/.env.template src/envs/.env.local
-
cd to the django_project directory
cd src/django_project
-
create a local database by running django migrations
./manage.py migrate
-
create a local admin user
./manage.py add_superuser --group admin
-
(optional) add platforms and groups to your local database
./manage.py runscript initialize_data
-
(optional) ingest future events to your local database
./manage.py runscript ingest_events
Note: this requires playwright and its dependencies to be installed on your system.
playwright install --with-deps
-
start the local demo server
./manage.py runserver
open a browser and navigate to http://127.0.0.1:8000 (log in with admin/admin)
** you can stop the local demo server anytime via ctrl + c