Skip to content

Commit e07d804

Browse files
committed
Update Django Datta PRO
1 parent 3b0fbd1 commit e07d804

File tree

2 files changed

+58
-140
lines changed

2 files changed

+58
-140
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Change Log
22

3+
## [1.0.71] 2024-08-08 (unreleased)
4+
### Changes
5+
6+
- Update [Django Datta PRO](https://docs.appseed.us/products/django-dashboards/datta-able-pro/)
7+
- Added build steps
8+
39
## [1.0.70] 2024-08-04
410
### Changes
511

docs/products/django-dashboards/datta-able-pro.mdx

Lines changed: 52 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,37 @@ sidebar_label: Django Datta PRO
77

88
<SubHeading>Premium Django Starter coded on top of Datta Able design (Premium Version).</SubHeading>
99

10-
**Django Dashboard** crafted by `AppSeed` on top of a modern design. [Datta Able](https://appseed.us/product/datta-able-pro/django/) is a premium `Bootstrap 5`
10+
**[Django Dashboard](https://appseed.us/admin-dashboards/django/)** crafted by `AppSeed` on top of a modern design. [Datta Able](https://appseed.us/product/datta-able-pro/django/) is a premium `Bootstrap 5`
1111
Dashboard that comes with feature-rich pages and developer-centric code components.
1212
This design provides many prebuilt admin layouts which give you the best selection choice for a modern dashboard.
1313

14-
- 🛒 [Django Datta Able PRO](https://appseed.us/product/datta-able-pro/django/) - `Product page` (contains payment links)
14+
- 👉 [Django Datta Able PRO](https://appseed.us/product/datta-able-pro/django/) - `Product page`
1515
- 👉 [Django Datta Able PRO](https://django-datta-pro.onrender.com) - `LIVE Demo`
1616

17-
:::info [**v1.0.27**](https://github.com/app-generator/django-datta-able-pro/releases) - release date `2024-03-28`
17+
:::info [**v1.0.28**](https://github.com/app-generator/django-datta-able-pro/releases) - release date `2024-03-28`
1818
:::
1919

20-
21-
## **Features**
22-
23-
- `Up-to-date Dependencies`
24-
- UI Theme: [Datta Able PRO](/boilerplate-code/django-templates/datta-able-pro/)
25-
- can be used in any Django project (new or legacy)
26-
- `Sections` covered by the design:
27-
- **Admin section** (reserved for superusers)
28-
- **Authentication**: `Django.contrib.AUTH`, Registration
29-
- **All Pages** available in for ordinary users
20+
## **Features**
21+
22+
- `Up-to-date dependencies`
23+
- Database: `SQLite` (default), PgSQL, MySql
24+
- **Authentication**
25+
- `Session-Based authentication`
26+
- `Social Login`: **Github**
27+
- **User Extended profile**
28+
- **API** via DRF
29+
- [DataTables](https://django-datta-pro.onrender.com/tables/)
30+
- [Charts](https://django-datta-pro.onrender.com/charts/)
31+
- Celery (Async Tasks)
32+
- File Manager
3033
- `Docker`
31-
- `Deployment`
32-
- `CI/CD` flow via `Render`
34+
- [Automated e2e Tests](#tests) - reports generated in `HTML and Video` format
3335

3436
![Datta Able PRO - Full-Stack Starter generated by AppSeed.](https://user-images.githubusercontent.com/51070104/170474361-a58da82b-fff9-4a59-81a8-7ab99f478f48.png)
3537

3638
<br />
3739

38-
## Environment
40+
## Environment
3941

4042
To use the starter, [Python3](https://www.python.org) should be installed properly in the workstation.
4143
If you are not sure if Python is installed, please open a terminal and type `python --version`. Here is the full list with dependencies and tools required to build the app:
@@ -45,170 +47,81 @@ If you are not sure if Python is installed, please open a terminal and type `pyt
4547
- Basic development tools (g++ compiler, python development libraries ..etc) used by Python to compile the app dependencies in your environment.
4648
- (Optional) `Docker` - a popular virtualization software
4749

50+
<br />
4851

49-
## ✅ Manual Build
52+
## Start in `Docker`
5053

51-
> 👉 Download the code
54+
> **Step 1** - Download the [code](https://appseed.us/product/datta-able-pro/django/) and unzip the sources (requires a `purchase`).
5255
5356
```bash
54-
$ git clone https://github.com/app-generator/django-datta-able-pro.git
57+
$ unzip django-datta-able-pro.zip
5558
$ cd django-datta-able-pro
5659
```
5760

5861
<br />
5962

60-
> Export `GITHUB_TOKEN` in the environment. The value is provided by AppSeed during purchase.
61-
62-
This is required because the project has a private REPO dependency: `github.com/app-generator/priv-django-admin-datta-pro`
63+
> **Step 2** - Start the APP in `Docker`
6364
6465
```bash
65-
$ export GITHUB_TOKEN='TOKEN_HERE' # for Linux, Mac
66-
$ set GITHUB_TOKEN='TOKEN_HERE' # Windows CMD
67-
$ $env:GITHUB_TOKEN = 'TOKEN_HERE' # Windows powerShell
66+
# Optional (kill all existing containers)
67+
$ docker container kill $(docker ps -q) ; docker container rm $(docker ps -a -q) ; docker network prune -f
68+
# Start the APP
69+
$ docker-compose up --build
6870
```
6971

70-
> 👉 Install modules via `VENV`.
72+
Visit `http://localhost:5085` in your browser. The app should be up & running.
73+
74+
<br />
75+
76+
## Manual Build
7177

78+
> **Step 1** - Download the [code](https://appseed.us/product/datta-able-pro/django/) and unzip the sources (requires a `purchase`).
7279
7380
```bash
74-
$ virtualenv env
75-
$ source env/bin/activate
76-
$ pip install -r requirements.txt
81+
$ unzip django-datta-able-pro.zip
82+
$ cd django-datta-able-pro
7783
```
7884

79-
> 👉 Edit the `.env` using the template `.env.sample`.
85+
> **Step 2** - Create new `.env` from `env.sample`
86+
87+
The meaning of each variable can be found below:
8088

81-
```env
89+
- `DEBUG`: if `True` the app runs in develoment mode
90+
- For production value `False` should be used
91+
- Edit `SECRET_KEY`: add strong secret key
8292

83-
# True for development, False for production
84-
DEBUG=True
93+
> **Step 3** - Activate the Virtual Environment and Install Modules
8594
95+
```bash
96+
$ virtualenv env
97+
$ source env/bin/activate
98+
$ pip install -r requirements.txt
8699
```
87100

88-
> 👉 Set Up Database
101+
> **Step 4** - Migrate Database (by Default SQLite is used)
89102
90103
```bash
91104
$ python manage.py makemigrations
92105
$ python manage.py migrate
93106
```
94107

95-
> 👉 Create the Superuser
108+
> **Step 5** - Create Superuser
96109
97110
```bash
98111
$ python manage.py createsuperuser
99112
```
100113

101-
> 👉 Start the app
114+
> **Step 6** - Start the App
102115
103116
```bash
104117
$ python manage.py runserver
105118
```
106119

107120
At this point, the app runs at `http://127.0.0.1:8000/`.
108121

122+
<br />
109123

110-
## ✅ Manage App `Users`
111-
112-
By default, the starter is not provided with users. To access the private pages and the admin section (reserved for `superusers`) follow up the next sections.
113-
114-
### 👉 Create `Superusers`
115-
116-
To access the `admin` section, Django requires `superuser` privilegies. Let's create a new `superuser` and access the `admin` section of the project:
117-
118-
```bash
119-
$ python manage.py createsuperuser
120-
```
121-
122-
Once the `superuser` is successfully created, we can access the `admin` section:
123-
124-
`http://localhost:8000/admin/`
125-
126-
127-
## ✅ Codebase structure
128-
129-
The project is coded using a simple and intuitive structure presented below:
130-
131-
```bash
132-
< PROJECT ROOT >
133-
|
134-
|-- core/
135-
| |-- settings.py # Project Configuration
136-
| |-- urls.py # Project Routing
137-
|
138-
|-- home/
139-
| |-- views.py # APP Views
140-
| |-- urls.py # APP Routing
141-
| |-- models.py # APP Models
142-
| |-- tests.py # Tests
143-
| |-- templates/ # Theme Customisation
144-
| |-- pages #
145-
| |-- custom-index.py # Custom INDEX Page
146-
|
147-
|-- requirements.txt # Project Dependencies
148-
|
149-
|-- env.sample # ENV Configuration (default values)
150-
|-- manage.py # Start the app - Django default start script
151-
|
152-
|-- ************************************************************************
153-
```
154-
155-
156-
## ✅ How to Customize
157-
158-
When a template file is loaded in the controller, `Django` scans all template directories starting from the ones defined by the user, and returns the first match or an error in case the template is not found.
159-
The theme used to style this starter provides the following files:
160-
161-
```bash
162-
# This exists in ENV: LIB/admin_datta_pro
163-
< UI_LIBRARY_ROOT >
164-
|
165-
|-- templates/ # Root Templates Folder
166-
| |
167-
| |-- accounts/
168-
| | |-- auth-signin.html # Sign IN Page
169-
| | |-- auth-signup.html # Sign UP Page
170-
| |
171-
| |-- includes/
172-
| | |-- footer.html # Footer component
173-
| | |-- sidebar.html # Sidebar component
174-
| | |-- navigation.html # Navigation Bar
175-
| | |-- scripts.html # Scripts Component
176-
| |
177-
| |-- layouts/
178-
| | |-- base.html # Masterpage
179-
| | |-- base-auth.html # Masterpage for Auth Pages
180-
| |
181-
| |-- pages/
182-
| |-- index.html # INDEX page
183-
| |-- landingpage.html # Sample LP
184-
| |-- *.html # All other pages
185-
|
186-
|-- ************************************************************************
187-
```
188-
189-
When the project requires customization, we need to copy the original file that needs an update (from the virtual environment) and place it in the template folder using the same path.
190-
191-
> For instance, if we want to **customize the index page** these are the steps:
192-
193-
-`Step 1`: create the `templates` DIRECTORY inside the `home` app
194-
-`Step 2`: configure the project to use this new template directory
195-
- `core/settings.py` TEMPLATES section
196-
-`Step 3`: copy the `index.html` from the original location (inside your ENV) and save it to the `home/templates/pages` DIR
197-
- Source PATH: `<YOUR_ENV>/LIB/admin_datta_pro/templates/pages/index.html`
198-
- Destination PATH: `<PROJECT_ROOT>home/templates/pages/index.html`
199-
200-
> To speed up all these steps, the **codebase is already configured** (`Steps 1, and 2`) and a `custom INDEX` can be found at this location:
201-
202-
`home/templates/pages/custom-index.html`
203-
204-
By default, this file is unused because the `theme` expects `index.html` (without the `custom-` prefix).
205-
206-
In order to use it, simply rename it to `index.html`. Like this, the default version shipped in the library is ignored by Django.
207-
208-
In a similar way, all other files and components can be customized easily.
209-
210-
211-
## ✅ Deploy on [Render](https://render.com/)
124+
## Deploy on [Render](https://render.com/)
212125

213126
- Create a Blueprint instance
214127
- Go to https://dashboard.render.com/blueprints this link.
@@ -219,8 +132,7 @@ In a similar way, all other files and components can be customized easily.
219132

220133
At this point, the product should be LIVE.
221134

222-
223-
## ✅ Resources
135+
## Resources
224136

225137
- 👉 Access [AppSeed](https://appseed.us/) for more starters and support
226138
- 👉 Get in touch for **[Custom Development Services](https://appseed.us/custom-development/)**

0 commit comments

Comments
 (0)