DjipFast¶
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¶
-
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 withpython --version
-
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!