Whether you're an experienced developer or this is your first open source contribution, we welcome your support! You can contribute to WesternFriend's project in various ways:
- Design
- Testing
- Ideas
- Accessibility
- Writing code
For general discussions and to get involved with the community, visit our discussion area.
Follow the steps below to set up your development environment.
- Python 3.10 or higher
- Django
- Wagtail CMS
Note: If you're using Windows, please use PowerShell. If your system uses the python3
command instead of python
, substitute it as needed.
- Clone the Repository:
git clone [email protected]:WesternFriend/WF-website.git
- Change into the Application Directory:
cd WF-website/
- Create a Virtual Environment:
python3 -m venv .venv
- Activate the Virtual Environment:
- Mac/Linux:
source .venv/bin/activate
- Windows PowerShell:
.venv\Scripts\Activate.ps1
- Mac/Linux:
- Install Project Dependencies:
pip install -r requirements.txt -r requirements-dev.txt
- Activate Pre-Commit:
pre-commit install
This project uses Docker to manage a Postgres database.
- Start the Database:
docker compose up --detach
- pgAdmin Access: Use localhost:5050 (credentials in the
docker-compose.yaml
file)
- Run Database Migrations:
python manage.py migrate
- Create a Superuser:
python manage.py createsuperuser
- Create .env File (with
DJANGO_DEBUG=true
) - Run the Server:
python manage.py runserver
(access from http://localhost:8000) - Scaffold Initial Content:
python manage.py scaffold_initial_content
We use pip
and pip-tools
. Use the following commands to manage dependencies:
- Generate Requirements Files:
python develop.py compile-deps
- Update Dependencies:
python develop.py update-deps
- Add/Remove Packages: Modify the
dependencies
list inpyproject.toml
, then recompile.
If you prefer an alternative to Docker/Docker UI, try Colima.
- Start Colima:
colima start
- If you face an error, use
limactl stop -f colima
, then re-run the start command.
Need help? Feel free to open a support ticket.
We appreciate your interest and contribution to the WesternFriend project. Happy coding!