CC Legal Database: curated repository of Case Law and Scholarship data from around the world in a Django based website.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
See CONTRIBUTING.md
. It contains some general instructions
that should be followed when contributing to any of the Creative Commons
open-source repositories.
Copy .env.template
and set environment variables (like
DJANGO_DEBUG_ENABLED=True
for local development and testing) and secret keys
in a .env
file.
cp .env.template .env
Ensure that you have Docker and Docker Compose installed on your system For installation instructions refer: Get Docker | Docker Documentation
Start Django server (backed by PostgreSQL server ) at 127.0.0.1:8000:
docker-compose up
Run the migrations to create database schema (we use Postgresql in this case):
docker-compose run app ./manage.py migrate
(Required after initial build)
To execute any commands inside the app docker container, follow this format:
docker-compose run app ./manage.py DJANGO COMMAND HERE
or
docker-compose run app sh -c "SHELL COMMAND HERE"
Examples:
- Create a Super User:
docker-compose run app ./manage.py createsuperuser
- Collect static files:
docker-compose run app ./manage.py collectstatic
- Compress content:
docker-compose run app ./manage.py compress
- Run tests:
docker-compose run app ./manage.py test
NOTE: The prefered method is Using Docker-Compose.
To follow these instructions, Python 3 and Pipenv are required.
Install dependencies with pipenv.
pipenv install --dev
Run the migrations to create the database (we use Postgresql in this case).
pipenv run ./manage.py migrate
The next step is to create an admin account for Django admin.
pipenv run ./manage.py createsuperuser
Finally you can start a development server with:
pipenv run ./manage.py runserver
and see a local version of the website at 127.0.0.1:8000.
Open another terminal and navigate to webpack folder using:
cd webpack
To install webpack dependencies use:
npm install
or alternatively to install from package-lock.json use:
npm ci
If you want to make changes to scss files during development run:
npm run watch
otherwise run the following command
npm run build
After made code changes and before commit, check code style from main directory using.
After making changes in code and before commit, check code style.
pipenv run isort .
pipenv run black .
pipenv run flake8 .
Posts in the Outreachy May 2020 round: CC Legal Database series
See deploy_to_heroku.md
.