|
1 | 1 | --- |
2 | 2 | title: Django Atlantis PRO - Premium Starter |
3 | | -sidebar_label: Django Atlantis Dark PRO |
| 3 | +sidebar_label: Django Atlantis PRO |
4 | 4 | --- |
5 | 5 |
|
6 | | -# [Django Atlantis Dark PRO ](https://appseed.us/product/atlantis-dark-pro/django/) |
| 6 | +# [Django Atlantis PRO](https://appseed.us/product/atlantis-dark-pro/django/) |
7 | 7 |
|
8 | | -<SubHeading>Admin dashboard generated by AppSeed in Django on top of Atlantis Dark PRO design</SubHeading> |
| 8 | +<SubHeading>Premium Django Starter coded on top of Atlantis Bootstrap Design (Premium Version).</SubHeading> |
9 | 9 |
|
10 | | -Atlantis is a beautiful and elegant Bootstrap 4 admin dashboard designed to manage and visualize data about your business. Every element has multiple states for colors, styles, hover, focus, that you can easily access and use. |
| 10 | +Premium **Django Dashboard** generated by `AppSeed` on top of a modern Bootstrap 4 design. |
| 11 | +**[Atlantis Dark PRO Dashboard](https://appseed.us/product/atlantis-dark-pro/django/)** is a premium `Bootstrap 4` Admin Dashboard featuring over 50+ components, and 30 example pages. |
11 | 12 |
|
12 | | -> Features |
| 13 | +- 🛒 [Django Atlantis PRO](https://appseed.us/product/atlantis-dark-pro/django/) - `Product page` (contains payment links) |
| 14 | +- 👉 [Django Atlantis PRO](https://django-atlantis-dark-pro.appseed-srv1.com/) - `LIVE Demo` |
13 | 15 |
|
14 | | -- Codebase - [Django Dashboard Boilerplate](../../boilerplate-code/starters/django-dashboard.mdx) |
15 | | -- UI Kit: [Atlantis Dark PRO](../../content/bootstrap-template/atlantis-pro.mdx) crafted by ThemeKita |
16 | | -- SQLite Database, Django Native ORM |
17 | | -- Session-Based Authentication, Forms validation |
18 | | -- Deployment scripts: Docker, Gunicorn/Nginx |
| 16 | +:::info [**v1.0.1**](https://github.com/app-generator/django-atlantis-dark-pro/releases) - release date `2023, Mar 22` |
| 17 | +::: |
19 | 18 |
|
20 | | -## What is Django |
| 19 | +- ✅ `Up-to-date Dependencies` |
| 20 | +- ✅ `Design`: [Django Theme Atlantis](https://github.com/app-generator/django-admin-atlantis-pro) - `PRO Version` |
| 21 | + - can be used in any Django project (new or legacy) |
| 22 | +- ✅ `Sections` covered by the design: |
| 23 | + - ✅ **Admin section** (reserved for superusers) |
| 24 | + - ✅ **Authentication**: `Django.contrib.AUTH`, Registration |
| 25 | + - ✅ **All Pages** available in for ordinary users |
| 26 | +- ✅ `Docker` |
| 27 | +- 🚀 `Deployment` |
| 28 | + - `CI/CD` flow via `Render` |
21 | 29 |
|
22 | | -Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source. |
| 30 | + |
23 | 31 |
|
24 | | -> Read more about [Django Framework](../../content/what-is/django.mdx) |
25 | 32 |
|
26 | | -## How to use the App |
| 33 | +## Environment |
27 | 34 |
|
28 | | -- [Set up the environment](../../boilerplate-code/starters/django-dashboard.mdx#environment-1) - prepare your workstation for **Django** |
29 | | -- [Compile the sources](../../boilerplate-code/starters/django-dashboard.mdx#build-the-app-1) - start this **Django** app in the local environment |
30 | | -- [App Codebase](../../boilerplate-code/starters/django-dashboard.mdx#app-codebase) - how the project files are organized |
31 | | -- [App Configuration](../../boilerplate-code/starters/django-dashboard.mdx#app-configuration) - how to configure this **Django** application |
| 35 | +To use the starter, [Python3](https://www.python.org) should be installed properly in the workstation. |
| 36 | +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: |
32 | 37 |
|
33 | | -## [Atlantis Dark PRO](../../content/bootstrap-template/atlantis-pro.mdx) - UI Kit |
| 38 | +- [Python3](https://www.python.org) - the programming language used to code the app |
| 39 | +- [GIT](https://git-scm.com) - used to clone the source code from the Github repository |
| 40 | +- Basic development tools (g++ compiler, python development libraries ..etc) used by Python to compile the app dependencies in your environment. |
| 41 | +- (Optional) `Docker` - a popular virtualization software |
34 | 42 |
|
35 | | -Atlantis PRO has 9 layouts, 26 plugins and many UI components to help developers create dashboards quickly and effectively so they can save development time and also help users to make the right and fast decisions based on existing data. |
36 | 43 |
|
37 | | -- [Atlantis Dark PRO](../../content/bootstrap-template/atlantis-pro.mdx) - information provided by AppSeed |
| 44 | +## Manual Build |
38 | 45 |
|
39 | | - |
| 46 | +> 👉 Download the code |
| 47 | +
|
| 48 | +```bash |
| 49 | +$ git clone https://github.com/app-generator/django-atlantis-dark-pro.git |
| 50 | +$ cd django-atlantis-dark-pro |
| 51 | +``` |
| 52 | + |
| 53 | +<br /> |
| 54 | + |
| 55 | +> Export `GITHUB_TOKEN` in the environment. The value is provided by AppSeed during purchase. |
| 56 | +
|
| 57 | +This is required because the project has a private REPO dependency: `github.com/app-generator/priv-django-admin-atlantis-pro` |
| 58 | + |
| 59 | +```bash |
| 60 | +$ export GITHUB_TOKEN='TOKEN_HERE' # for Linux, Mac |
| 61 | +$ set GITHUB_TOKEN='TOKEN_HERE' # Windows CMD |
| 62 | +$ $env:GITHUB_TOKEN = 'TOKEN_HERE' # Windows powerShell |
| 63 | +``` |
| 64 | + |
| 65 | +> 👉 Install modules via `VENV`. |
| 66 | +
|
| 67 | + |
| 68 | +```bash |
| 69 | +$ virtualenv env |
| 70 | +$ source env/bin/activate |
| 71 | +$ pip install -r requirements.txt |
| 72 | +``` |
| 73 | + |
| 74 | +> 👉 Edit the `.env` using the template `.env.sample`. |
| 75 | +
|
| 76 | +```env |
| 77 | +
|
| 78 | +# True for development, False for production |
| 79 | +DEBUG=True |
| 80 | +
|
| 81 | +``` |
| 82 | + |
| 83 | +> 👉 Set Up Database |
| 84 | +
|
| 85 | +```bash |
| 86 | +$ python manage.py makemigrations |
| 87 | +$ python manage.py migrate |
| 88 | +``` |
| 89 | + |
| 90 | +> 👉 Create the Superuser |
| 91 | +
|
| 92 | +```bash |
| 93 | +$ python manage.py createsuperuser |
| 94 | +``` |
| 95 | + |
| 96 | +> 👉 Start the app |
| 97 | +
|
| 98 | +```bash |
| 99 | +$ python manage.py runserver |
| 100 | +``` |
| 101 | + |
| 102 | +At this point, the app runs at `http://127.0.0.1:8000/`. |
| 103 | + |
| 104 | + |
| 105 | +## Manage App `Users` |
| 106 | + |
| 107 | +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. |
| 108 | + |
| 109 | +### 👉 Create `Superusers` |
| 110 | + |
| 111 | +To access the `admin` section, Django requires `superuser` privilegies. Let's create a new `superuser` and access the `admin` section of the project: |
| 112 | + |
| 113 | +```bash |
| 114 | +$ python manage.py createsuperuser |
| 115 | +``` |
| 116 | + |
| 117 | +Once the `superuser` is successfully created, we can access the `admin` section: |
| 118 | + |
| 119 | +`http://localhost:8000/admin/` |
| 120 | + |
| 121 | + |
| 122 | +## Codebase structure |
| 123 | + |
| 124 | +The project is coded using a simple and intuitive structure presented below: |
| 125 | + |
| 126 | +```bash |
| 127 | +< PROJECT ROOT > |
| 128 | + | |
| 129 | + |-- core/ |
| 130 | + | |-- settings.py # Project Configuration |
| 131 | + | |-- urls.py # Project Routing |
| 132 | + | |
| 133 | + |-- home/ |
| 134 | + | |-- views.py # APP Views |
| 135 | + | |-- urls.py # APP Routing |
| 136 | + | |-- models.py # APP Models |
| 137 | + | |-- tests.py # Tests |
| 138 | + | |-- templates/ # Theme Customisation |
| 139 | + | |-- includes # |
| 140 | + | |-- custom-footer.py # Custom Footer |
| 141 | + | |
| 142 | + |-- requirements.txt # Project Dependencies |
| 143 | + | |
| 144 | + |-- env.sample # ENV Configuration (default values) |
| 145 | + |-- manage.py # Start the app - Django default start script |
| 146 | + | |
| 147 | + |-- ************************************************************************ |
| 148 | +``` |
| 149 | + |
| 150 | + |
| 151 | +## How to Customize |
| 152 | + |
| 153 | +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. |
| 154 | +The theme used to style this starter provides the following files: |
| 155 | + |
| 156 | +```bash |
| 157 | +# This exists in ENV: LIB/admin_atlantis_pro |
| 158 | +< LIBRARY_ROOT > |
| 159 | + | |
| 160 | + |-- templates/ # Root Templates Folder |
| 161 | + | | |
| 162 | + | |-- accounts/ |
| 163 | + | | |-- login # Auth Page |
| 164 | + | | |
| 165 | + | |-- includes/ |
| 166 | + | | |-- footer.html # Footer component |
| 167 | + | | |-- sidebar.html # Sidebar component |
| 168 | + | | |-- navigation.html # Navigation Bar |
| 169 | + | | |-- scripts.html # Scripts Component |
| 170 | + | | |
| 171 | + | |-- layouts/ |
| 172 | + | | |-- base.html # Masterpage |
| 173 | + | | |-- base-auth.html # Masterpage for Auth Pages |
| 174 | + | | |
| 175 | + | |-- pages/ |
| 176 | + | |-- index.html # Main Dashboard Page |
| 177 | + | |-- widgets.html # Widgets page |
| 178 | + | |-- messages.html # Messaging APP Page |
| 179 | + | |-- *.html # All other pages |
| 180 | + | |
| 181 | + |-- ************************************************************************ |
| 182 | +``` |
| 183 | + |
| 184 | +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. |
| 185 | + |
| 186 | +> For instance, if we want to **customize the footer.html** these are the steps: |
| 187 | +
|
| 188 | +- ✅ `Step 1`: create the `templates` DIRECTORY inside the `home` app |
| 189 | +- ✅ `Step 2`: configure the project to use this new template directory |
| 190 | + - `core/settings.py` TEMPLATES section |
| 191 | +- ✅ `Step 3`: copy the `footer.html` from the original location (inside your ENV) and save it to the `home/templates` DIR |
| 192 | + - Source PATH: `<YOUR_ENV>/LIB/admin_atlantis_pro/includes/footer.html` |
| 193 | + - Destination PATH: `<PROJECT_ROOT>home/templates/includes/footer.html` |
| 194 | + |
| 195 | +> To speed up all these steps, the **codebase is already configured** (`Steps 1, and 2`) and a `custom footer` can be found at this location: |
| 196 | +
|
| 197 | +`home/templates/includes/custom_footer.html` |
| 198 | + |
| 199 | +By default, this file is unused because the `theme` expects `footer.html` (without the `custom_` prefix). |
| 200 | + |
| 201 | +In order to use it, simply rename it to `footer.html`. Like this, the default version shipped in the library is ignored by Django. |
| 202 | + |
| 203 | +In a similar way, all other files and components can be customized easily. |
| 204 | + |
| 205 | +<br /> |
| 206 | + |
| 207 | +## Deploy on [Render](https://render.com/) |
| 208 | + |
| 209 | +- Create a Blueprint instance |
| 210 | + - Go to https://dashboard.render.com/blueprints this link. |
| 211 | +- Click `New Blueprint Instance` button. |
| 212 | +- Connect your `repo` which you want to deploy. |
| 213 | +- Fill the `Service Group Name` and click on `Update Existing Resources` button. |
| 214 | +- After that your deployment will start automatically. |
| 215 | + |
| 216 | +At this point, the product should be LIVE. |
| 217 | + |
| 218 | + |
| 219 | +## Resources |
| 220 | + |
| 221 | +- 👉 [Django Theme Atlantis](https://github.com/app-generator/django-admin-atlantis-pro) - Library used to style this starter |
| 222 | +- 👉 Free [Support](https://appseed.us/support/) via Email & Discord |
0 commit comments