Skip to content

Commit

Permalink
Release v1.0.15
Browse files Browse the repository at this point in the history
  • Loading branch information
app-generator committed Mar 4, 2024
1 parent 1bacee6 commit 3c5ddd8
Show file tree
Hide file tree
Showing 9 changed files with 177 additions and 18 deletions.
3 changes: 3 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
DEBUG=True

SECRET_KEY=<STRONG_KEY_HERE>
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ env
/staticfiles/

#src
*.sqlite*
#*.sqlite*

.env
#.env
node_modules
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Change Log

## [1.0.15] 2024-03-04
### Changes

- Deprecate `distutils`
- use `str2bool`
- Update Deps
- `requirements.txt`
- Update README: [PRO Version](https://appseed.us/product/volt-dashboard-pro/django/), List features
- `API`, **Charts**
- **DataTables** (Filters, Export)
- **Celery**
- **Media Files Manager**
- **Extended User Profiles**

## [1.0.14] 2023-02-14
### Changes

Expand Down
22 changes: 13 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,19 @@ Open-source **[Django Dashboards](https://appseed.us/admin-dashboards/django/)**
| Free Version | [PRO Version](https://appseed.us/product/volt-dashboard-pro/django/) | [Custom Development](https://appseed.us/custom-development/) |
| --------------------------------------| --------------------------------------| --------------------------------------|
|**Django 4.1.12** | **Everything in Free**, plus: | **Everything in PRO**, plus: |
| ✓ Best Practices |**Premium Bootstrap 5 Design** |**1mo Custom Development** |
|`Bootstrap 5`, Volt Dashboard UI |`OAuth` Google, GitHub |**Team**: PM, Developer, Tester |
|`Docker` | ✅ Extended User Model | ✅ Weekly Sprints |
|`CI/CD` Flow via Render |`Private REPO Access` | ✅ Technical SPECS |
|`Free Support` |**PRO Support** - [Email & Discord](https://appseed.us/support/) | ✅ Documentation |
| - | ✅ Deployment Assistance |**30 days Delivery Warranty** |
| ------------------------------------ | ------------------------------------ | ------------------------------------|
|[LIVE Demo](https://django-volt-dashboard.appseed-srv1.com/) | 🚀 [LIVE Demo](https://django-volt-dashboard-pro.onrender.com/) | 🛒 `Order`: **[$4,999](https://appseed.gumroad.com/l/rocket-package)** (GUMROAD) |
|**Django 4.2.9** | **Everything in Free**, plus: | **Everything in PRO**, plus: |
| ✓ Best Practices |**Premium Bootstrap 5 Design** |**1mo Custom Development** |
| ✓ Bootstrap 5 Design |`OAuth` Google, GitHub |**Team**: PM, Developer, Tester |
|`CI/CD` Flow via Render |`API`, **[Charts](https://django-volt-dashboard-pro.onrender.com/charts/)** | ✅ Weekly Sprints |
|`Docker` |**[DataTables](https://django-volt-dashboard-pro.onrender.com/tables/)** (Filters, Export) | ✅ Technical SPECS |
| - |**Celery** | ✅ Documentation |
| - |**Media Files Manager** |**30 days Delivery Warranty** |
| - |**Extended User Profiles** | - |
| - |`Private REPO Access` | - |
| - |**PRO Support** - [Email & Discord](https://appseed.us/support/) | - |
| - | ✅ Deployment Assistance | - |
| ------------------------------------ | ------------------------------------ | ------------------------------------|
|[LIVE Demo](https://django-volt-dashboard.onrender.com) | 🚀 [LIVE Demo](https://django-volt-dashboard-pro.onrender.com/) | 🛒 `Order`: **[$4,999](https://appseed.gumroad.com/l/rocket-package)** (GUMROAD) |


![Volt Dashboard - Full-Stack Starter generated by AppSeed.](https://user-images.githubusercontent.com/51070104/168843604-b026fd94-5969-4be7-81ac-5887cf0958e5.png)
Expand Down
10 changes: 7 additions & 3 deletions core/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import os, random, string
from pathlib import Path
from dotenv import load_dotenv
from str2bool import str2bool

load_dotenv() # take environment variables from .env.

Expand All @@ -27,10 +28,13 @@
if not SECRET_KEY:
SECRET_KEY = ''.join(random.choice( string.ascii_lowercase ) for i in range( 32 ))

# Render Deployment Code
DEBUG = 'RENDER' not in os.environ
# Enable/Disable DEBUG Mode
DEBUG = str2bool(os.environ.get('DEBUG'))
#print(' DEBUG -> ' + str(DEBUG) )

ALLOWED_HOSTS = []
ALLOWED_HOSTS = ['*']

CSRF_TRUSTED_ORIGINS = ['http://localhost:8000', 'http://localhost:5085', 'http://127.0.0.1:8000', 'http://127.0.0.1:5085']

RENDER_EXTERNAL_HOSTNAME = os.environ.get('RENDER_EXTERNAL_HOSTNAME')
if RENDER_EXTERNAL_HOSTNAME:
Expand Down
Binary file added db.sqlite3
Binary file not shown.
132 changes: 132 additions & 0 deletions home/templates/accounts/sign-in.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
{% extends 'layouts/base-auth.html' %}
{% load static %}

{% block content %}

<!-- Section -->
<section class="vh-lg-100 mt-5 mt-lg-0 bg-soft d-flex align-items-center">
<div class="container">
<p class="text-center">
<a href="{% url 'dashboard' %}" class="d-flex align-items-center justify-content-center">
<svg class="icon icon-xs me-2" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd"
d="M7.707 14.707a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l2.293 2.293a1 1 0 010 1.414z"
clip-rule="evenodd"></path>
</svg>
Back to homepage
</a>
</p>
<div class="row justify-content-center form-bg-image"
data-background-lg="{% static 'assets/img/illustrations/signin.svg' %}">
<div class="col-12 d-flex align-items-center justify-content-center">
<div class="bg-white shadow border-0 rounded border-light p-4 p-lg-5 w-100 fmxw-500">
<div class="text-center text-md-center mb-4 mt-md-0">
<h1 class="mb-0 h3">Sign in to our platform</h1>
<p class="mb-0">
<span>USER: test / Pass12__</span>
<br />
<span>ADMIN: admin / Pass12__</span>
</p>
</div>
<form method="post" class="mt-4">
{% csrf_token %}

{% if form.non_field_errors %}
{% for error in form.non_field_errors %}
<div class="text-danger mb-3">{{ error }}</div>
{% endfor %}
{% endif %}

<!-- Form -->
<div class="form-group mb-4">
<label for="email">{{ form.username.label }}</label>
<div class="input-group">
<span class="input-group-text" id="basic-addon1">
<svg class="icon icon-xs text-gray-600" fill="currentColor" viewBox="0 0 20 20"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd"
d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-6-3a2 2 0 11-4 0 2 2 0 014 0zm-2 4a5 5 0 00-4.546 2.916A5.986 5.986 0 0010 16a5.986 5.986 0 004.546-2.084A5 5 0 0010 11z"
clip-rule="evenodd"></path>
</svg>
</span>
{{ form.username }}
</div>
</div>
<!-- End of Form -->
<div class="form-group">
<!-- Form -->
<div class="form-group mb-4">
<label for="password">{{ form.password.label }}</label>
<div class="input-group">
<span class="input-group-text" id="basic-addon2">
<svg class="icon icon-xs text-gray-600" fill="currentColor" viewBox="0 0 20 20"
xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd"
d="M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z"
clip-rule="evenodd"></path>
</svg>
</span>
{{ form.password }}
</div>
</div>
<!-- End of Form -->
<div class="d-flex justify-content-between align-items-top mb-4">
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="remember">
<label class="form-check-label mb-0" for="remember">
Remember me
</label>
</div>
<div><a href="{% url 'password_reset' %}" class="small text-right">Lost password?</a></div>
</div>
</div>
<div class="d-grid">
<button type="submit" class="btn btn-gray-800">Sign in</button>
</div>
</form>
<!--
<div class="mt-3 mb-4 text-center">
<span class="fw-normal">or login with</span>
</div>
<div class="d-flex justify-content-center my-4">
<a href="#" class="btn btn-icon-only btn-pill btn-outline-gray-500 me-2" aria-label="facebook button"
title="facebook button">
<svg class="icon icon-xxs" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="facebook-f"
role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512">
<path fill="currentColor"
d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z">
</path>
</svg>
</a>
<a href="#" class="btn btn-icon-only btn-pill btn-outline-gray-500 me-2" aria-label="twitter button"
title="twitter button">
<svg class="icon icon-xxs" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="twitter"
role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path fill="currentColor"
d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z">
</path>
</svg>
</a>
<a href="#" class="btn btn-icon-only btn-pill btn-outline-gray-500" aria-label="github button"
title="github button">
<svg class="icon icon-xxs" aria-hidden="true" focusable="false" data-prefix="fab" data-icon="github"
role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512">
<path fill="currentColor"
d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z">
</path>
</svg>
</a>
</div>-->
<div class="d-flex justify-content-center align-items-center mt-4">
<span class="fw-normal">
Not registered?
<a href="{% url 'register' %}" class="fw-bold">Create account</a>
</span>
</div>
</div>
</div>
</div>
</div>
</section>

{% endblock content %}
2 changes: 1 addition & 1 deletion render.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
- type: web
name: django-volt-dash
name: django-volt-dashboard
plan: starter
env: python
region: frankfurt # region should be same as your database region.
Expand Down
7 changes: 4 additions & 3 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# Core
django==4.1.12
python-dotenv==1.0.0
django==4.2.9
python-dotenv==1.0.1
str2bool==1.1

# UI
django-admin-volt==1.0.10

# Deployment
whitenoise==6.5.0
whitenoise==6.6.0
gunicorn==21.2.0

# psycopg2-binary
Expand Down

0 comments on commit 3c5ddd8

Please sign in to comment.