Skip to content

Commit

Permalink
Release v1.0.13
Browse files Browse the repository at this point in the history
  • Loading branch information
app-generator committed Mar 2, 2024
1 parent c4e7c38 commit 5f419c0
Show file tree
Hide file tree
Showing 8 changed files with 199 additions and 27 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>
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +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.13] 2024-03-02
### Changes

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

## [1.0.12] 2023-10-24
### Changes

Expand Down
51 changes: 29 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,22 @@ The product is designed to deliver the best possible user experience with highly

> `Have questions?` Contact **[Support](https://appseed.us/support/)** (Email & Discord) provided by **AppSeed**
| Free Version | [PRO Version](https://appseed.us/product/material-dashboard2-pro/django/) | 🚀 Custom - $3,999 (plus VAT) |
| Free Version | [PRO Version](https://appseed.us/product/material-dashboard2-pro/django/) | 🚀 Custom - $4,999 |
| --------------------------------------| --------------------------------------| --------------------------------------|
|**Django 4.1.12** | **Everything in Free**, plus: | **Everything in PRO**, plus: |
| ✓ Best Practices |**Premium Bootstrap Design** |**1mo Custom Development** |
| ✓ Bootstrap Design |`Private REPO Access` |**Dedicated Developer** |
|`Docker` |**PRO Support** - [Email & Discord](https://appseed.us/support/) | ✅ Weekly Sprints |
|`CI/CD` Flow via Render | ✅ Deployment Assistance | ✅ Technical SPECS |
| ✓ `Free Support | - | ✅ Documentation |
| - | - |**30 days Delivery Warranty** |
| ------------------------------------ | ------------------------------------ | ------------------------------------|
|[LIVE Demo](https://django-material-dash2.onrender.com/) | 🚀 [LIVE Demo](https://django-material-dash2-pro.onrender.com/) | 🛒 `Order`: **[$3,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 4, `Material` Design |`OAuth` Google, GitHub |**Team**: PM, Developer, Tester |
|`Docker` |`API`, **[Charts](https://django-material-dash2-pro.onrender.com/charts/)** | ✅ Weekly Sprints |
| - |**[DataTables](https://django-material-dash2-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-datta-able.appseed-srv1.com/) | 🚀 [LIVE Demo](https://django-material-dash2-pro.onrender.com/) | 🛒 `Order`: **[$4,999](https://appseed.gumroad.com/l/rocket-package)** (GUMROAD) |


![Material Dashboard - Full-Stack Starter generated by AppSeed.](https://user-images.githubusercontent.com/51070104/169301658-6cf27993-c451-4cd4-9ffa-2968b8981167.png)

Expand Down Expand Up @@ -214,21 +219,23 @@ This design is a pixel-perfect [Bootstrap 5](https://www.admin-dashboards.com/bo

> Features:
-`Up-to-date Dependencies`
-`Design`: [Django Theme Material2](https://github.com/app-generator/django-admin-material2-pro) - `PRO Version`
-`Sections` covered by the design:
-**Admin section** (reserved for superusers)
-**Authentication**: `Django.contrib.AUTH`, Registration
-**All Pages** available in for ordinary users
-`Docker`
- 🚀 `Deployment`
- `CI/CD` flow via `Render`

<br />
- `Up-to-date dependencies`
- Database: `SQLite`, PgSQL, MySql
- **Authentication**
- `Session-Based authentication`
- `Social Login`: **Github** & **Google**
- **User Extended profile**
- **API** via DRF
- DataTables
- Charts
- Celery
- File Manager
- i18n (internationalization)
- `Docker`

![Material Dashboard 2 Pro](https://user-images.githubusercontent.com/51070104/211141418-6b7886eb-6fb3-433e-91c9-2895c086099a.png)

<br />

---
[Django Material Dashboard](https://appseed.us/product/material-dashboard/django/) - Minimal **Django** core provided by **[AppSeed](https://appseed.us/)**
[Django Material Dashboard](https://appseed.us/product/material-dashboard/django/) - Free Starter provided by **[AppSeed](https://appseed.us/)**
8 changes: 5 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,11 +28,12 @@
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) )

# Docker HOST
ALLOWED_HOSTS = ['localhost','127.0.0.1']
ALLOWED_HOSTS = ['*']

# Add here your deployment HOSTS
CSRF_TRUSTED_ORIGINS = ['http://localhost:8000', 'http://localhost:5085', 'http://127.0.0.1:8000', 'http://127.0.0.1:5085']
Expand Down
Binary file added db.sqlite3
Binary file not shown.
76 changes: 76 additions & 0 deletions templates/accounts/login.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
{% extends 'layouts/base-fullscreen.html' %}
{% load i18n static admin_material %}

{% block content %}

{% include 'includes/navigation-fullscreen.html' %}

<main class="main-content mt-0">
<div class="page-header align-items-start min-vh-100" style="background-image: url('https://images.unsplash.com/photo-1497294815431-9365093b7331?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1950&q=80');">
<span class="mask bg-gradient-dark opacity-6"></span>
<div class="container my-auto">
<div class="row">
<div class="col-lg-4 col-md-8 col-12 mx-auto">
<div class="card z-index-0 fadeIn3 fadeInBottom">
<div class="card-header p-0 position-relative mt-n4 mx-3 z-index-2">
<div class="bg-gradient-primary shadow-primary border-radius-lg py-3 pe-1">
<h4 class="text-white font-weight-bolder text-center mt-2 mb-0">
Sign IN
</h4>
<div class="row mt-3">
<p class="mb-0 text-white text-center">
{% if msg %}
{{ msg | safe }}
{% else %}
<span>USER: test / Pass12__</span>
<br />
<span>ADMIN: admin / Pass12__</span>
{% endif %}
</p>
</div>
</div>
</div>
<div class="card-body">

<form method="post" role="form" class="text-start" action="#">

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

{% for field in form %}
<div class="input-group input-group-outline mb-3">
{{ field }}
</div>
{% endfor %}


<p class="mt-3 text-sm">
<a href="{% url 'password_reset' %}" class="text-primary text-gradient font-weight-bold">Forgot Password?</a>
</p>

<div class="text-center">
<button type="submit" class="btn bg-gradient-primary w-100 my-0 mb-2">Sign in</button>
</div>

<p class="mt-4 text-sm text-center">
Don't have an account?
<a href="{% url 'register' %}" class="text-primary text-gradient font-weight-bold">Sign UP</a>
</p>

</form>

</div>
</div>
</div>
</div>
</div>
{% include 'includes/footer-fullscreen.html' %}
</div>
</main>


{% endblock content %}
70 changes: 70 additions & 0 deletions templates/accounts/register.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{% extends 'layouts/base-fullscreen.html' %}
{% load i18n static admin_material %}

{% block content %}

{% include 'includes/navigation-fullscreen.html' %}

<main class="main-content mt-0">
<section>
<div class="page-header min-vh-100">
<div class="container">
<div class="row">
<div class="col-6 d-lg-flex d-none h-100 my-auto pe-0 position-absolute top-0 start-0 text-center justify-content-center flex-column">
<div class="position-relative bg-gradient-primary h-100 m-3 px-7 border-radius-lg d-flex flex-column justify-content-center" style="background-image: url('{% static 'img/illustrations/illustration-signup.jpg' %}'); background-size: cover;">
</div>
</div>
<div class="col-xl-4 col-lg-5 col-md-7 d-flex flex-column ms-auto me-auto ms-lg-auto me-lg-5">
<div class="card card-plain">
<div class="card-header">
<h4 class="font-weight-bolder">Sign UP</h4>
<p class="mb-0">
{% if msg %}
<span class="text-danger">{{ msg | safe }}</span>
{% else %}
Enter your email and password to register
{% endif %}
</p>
</div>

{% if success %}
<div class="card-body">
<div class="text-center">
<a href="{% url 'login' %}"
class="btn btn-lg bg-gradient-primary btn-lg w-100 mt-4 mb-0">Sign IN</a>
</div>
</div>
{% else %}
<div class="card-body">
<form role="form" method="post" action="">
{% csrf_token %}
{% for field in form %}
<div class="input-group input-group-outline mb-3">
{{ field }}
</div>
<span class="text-danger">{{ field.errors }}</span>
{% endfor %}
<div class="text-center">
<button type="submit" name="register"
class="btn btn-lg bg-gradient-primary btn-lg w-100 mt-4 mb-0">Sign Up</button>
</div>
</form>
</div>
<div class="card-footer text-center pt-0 px-lg-2 px-1">
<p class="mb-2 text-sm mx-auto">
Already have an account?
<a href="{% url 'login' %}" class="text-primary text-gradient font-weight-bold">Sign IN</a>
</p>
</div>
{% endif %}
</div>
</div>
</div>
</div>
</div>
</section>
</main>

{% include 'includes/footer-fullscreen.html' %}

{% endblock content %}

0 comments on commit 5f419c0

Please sign in to comment.