Skip to content

DjipFast

DjipFast
The Django Boilerplate for perfectionists with deadlines.

Welcome to DjipFast 👋

Here's what you need to know to get started. Once you're set up, check out the deployment guide to launch your app.

Quick Start

  1. Run these commands in your terminal:

    git clone https://github.com/fabge-org/djipfast.git [YOUR_APP_NAME]
    cd [YOUR_APP_NAME]
    pip install -r requirements-dev.txt
    mv .env.example .env.local
    python manage.py migrate
    python manage.py dev
    

    python version

    DjipFast needs python 3.10 or higher. Check with python --version

  2. Visit http://localhost:8000 to see your site.

Project Structure

📦 DjipFast
├── 📂 .github               # GitHub Actions deployment
├── 📂 app                   # Django app - various functionality like stripe checkout, dashboard, lead collection
├── 📂 blog                  # Django app - blog functionality
├── 📂 config                # Central django project configuration (urls, settings)
├── 📂 data                  # Data files (database, media files)
├── 📂 deployment            # Deployment files (fly.io, kamal)
├── 📂 static                # Static files (css, js, images), e.g. your logo
├── 📂 templates             # HTML templates and components
├── 📂 user                  # Django app - custom user model (email instead of username) and auth system
├── 📄 .dockerignore         # Ignore files in docker build
├── 📄 .env.example          # Example environment variables
├── 📄 Dockerfile            # Dockerfile for deployment
├── 📄 README.md             # Readme file
├── 📄 app.css               # Tailwind CSS config file
├── 📄 example.ipynb         # Example notebook to interact with the database via ORM
├── 📄 manage.py             # Entry point to Django
├── 📄 requirements-dev.txt  # Additional python dependencies for local development
└── 📄 requirements.txt      # Python dependencies for each prod environment

Configuration

settings.py file

Update these variables in settings.py to match your project:

config/settings.py
# -----------------------------------------------------------------------------
# Your Config (change these) http://docs.djipfast.com/#settings.py
# -----------------------------------------------------------------------------
DOMAIN = 'yourdomain.com'
APP_NAME = 'Your App Name'
DESCRIPTION = 'Your app description'
KEYWORDS = 'your, app, keywords'

.env.local file

In the first step of the Quick Start, you have renamed the .env.example file to .env.local (mv .env.example .env.local). Change SECRET_KEY to a longer random string. This file will be used for local development. The file content looks like this:

# -----------------------------------------------------------------------------
# Django general https://docs.djipfast.com/#env-file
# -----------------------------------------------------------------------------
DEBUG=True
SECRET_KEY=django-insecure-secret-key

# -----------------------------------------------------------------------------
# Python Social Auth: https://docs.djipfast.com/tutorials/user-auth
# -----------------------------------------------------------------------------
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY=
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET=

# -----------------------------------------------------------------------------
# Email https://docs.djipfast.com/features/emails/
# -----------------------------------------------------------------------------
EMAIL_HOST_PASSWORD=

# -----------------------------------------------------------------------------
# Stripe https://docs.djipfast.com/features/payments/
# -----------------------------------------------------------------------------
STRIPE_PUBLIC_KEY=
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=

Ready to deploy? Follow the 5-minute deployment guide!