|
1 |
| -# [Soft Dashboard PRO Django](https://appseed.us/product/soft-ui-dashboard-pro/django/) |
| 1 | +# [Django Soft Dashboard PRO](https://app-generator.dev/product/soft-ui-dashboard-pro/django/) |
2 | 2 |
|
3 | 3 | **Django** starter styled with **[Soft Dashboard PRO](https://appseed.us/product/soft-ui-dashboard-pro/django/)**, a premium `Bootstrap 5` KIT from `Creative-Tim`.
|
4 | 4 | The product is designed to deliver the best possible user experience with highly customizable feature-rich pages.
|
5 | 5 |
|
6 |
| -- 👉 [Soft UI Dashboard PRO Django](https://appseed.us/product/soft-ui-dashboard-pro/django/) - `Product Page` |
7 |
| -- 👉 [Soft UI Dashboard PRO Django](https://django-soft-dash-pro.onrender.com/) - `LIVE Demo` |
| 6 | +- 👉 [Django Soft Dashboard PRO](https://app-generator.dev/product/soft-ui-dashboard-pro/django/) - `Product Page` |
| 7 | +- 👉 [Django Soft Dashboard PRO](https://django-soft-dash-pro.onrender.com/) - `LIVE Demo` |
| 8 | +- 👉 [Django Soft Dashboard PRO Documentation](https://app-generator.dev/docs/products/django/soft-ui-dashboard-pro/index.html) - `Complete Information` and Support Links |
| 9 | + - [Getting Started with Django](https://app-generator.dev/docs/technologies/django/index.html) - a `comprehensive tutorial` |
| 10 | + - `Configuration`: Install Dependencies, Prepare Environment, Setting up the Database |
| 11 | + - `Start with Docker` |
| 12 | + - `Manual Build` |
| 13 | + - `Start the project` |
| 14 | + - `Deploy on Render` |
8 | 15 |
|
9 | 16 | <br />
|
10 | 17 |
|
11 | 18 | ## Features
|
12 | 19 |
|
13 |
| -- `Up-to-date dependencies` |
14 |
| -- Database: `SQLite`, PgSQL, MySql |
15 |
| -- **Authentication** |
16 |
| - - `Session-Based authentication` |
17 |
| - - `Social Login`: **Github** & **Google** |
18 |
| -- **User Extended profile** |
19 |
| -- **API** via DRF |
20 |
| -- DataTables |
21 |
| -- Charts |
22 |
| -- Celery |
23 |
| -- File Manager |
24 |
| -- i18n (internationalization) |
25 |
| -- `Docker` |
26 |
| - |
27 |
| - |
28 |
| - |
29 |
| -<br /> |
30 |
| - |
31 |
| -## Start in `Docker` |
32 |
| - |
33 |
| -> **Step 1** - Download the [code](https://appseed.us/product/soft-ui-dashboard-pro/django/) and unzip the sources (requires a `purchase`). |
34 |
| -
|
35 |
| -```bash |
36 |
| -$ unzip django-soft-ui-dashboard-pro.zip |
37 |
| -$ cd django-soft-ui-dashboard-pro |
38 |
| -``` |
39 |
| - |
40 |
| -<br /> |
41 |
| - |
42 |
| -> **Step 2** - Start the APP in `Docker` |
43 |
| -
|
44 |
| -```bash |
45 |
| -# Optional (kill all existing containers) |
46 |
| -$ docker container kill $(docker ps -q) ; docker container rm $(docker ps -a -q) ; docker network prune -f |
47 |
| -# Start the APP |
48 |
| -$ docker-compose up --build |
49 |
| -``` |
50 |
| - |
51 |
| -Visit `http://localhost:5085` in your browser. The app should be up & running. |
52 |
| - |
53 |
| -<br /> |
54 |
| - |
55 |
| -## Create new `.env` from `env.sample` |
56 |
| - |
57 |
| -The meaning of each variable can be found below: |
58 |
| - |
59 |
| -- `DEBUG`: if `True` the app runs in develoment mode |
60 |
| - - For production value `False` should be used |
61 |
| -- `MYSQL` credentials |
62 |
| - - `DB_ENGINE`, default value = `mysql` |
63 |
| - - `DB_NAME`, default value = `appseed_db` |
64 |
| - - `DB_HOST`, default value = `localhost` |
65 |
| - - `DB_PORT`, default value = `3306` |
66 |
| - - `DB_USERNAME`, default value = `appseed_db_usr` |
67 |
| - - `DB_PASS`, default value = `pass` |
68 |
| -- `OAuth` via Github |
69 |
| - - `GITHUB_ID`=<GITHUB_ID_HERE> |
70 |
| - - `GITHUB_SECRET`=<GITHUB_SECRET_HERE> |
71 |
| -- `OAuth` via Google |
72 |
| - - `GOOGLE_CLIENT_ID`=<GOOGLE_ID_HERE> |
73 |
| - - `GOOGLE_SECRET_KEY`=<GOOGLE_SECRET_HERE> |
74 |
| - |
75 |
| -<br /> |
76 |
| - |
77 |
| -## Manual Build |
78 |
| - |
79 |
| -> Download the [code](https://appseed.us/product/soft-ui-dashboard-pro/django/) and unzip the sources (requires a `purchase`). |
80 |
| -
|
81 |
| -```bash |
82 |
| -$ unzip django-soft-ui-dashboard-pro.zip |
83 |
| -$ cd django-soft-ui-dashboard-pro |
84 |
| -``` |
85 |
| - |
86 |
| -<br /> |
87 |
| - |
88 |
| -### 👉 Set Up for `Unix`, `MacOS` |
89 |
| - |
90 |
| -> Install modules via `VENV` |
91 |
| -
|
92 |
| -```bash |
93 |
| -$ virtualenv env |
94 |
| -$ source env/bin/activate |
95 |
| -$ pip3 install -r requirements.txt |
96 |
| -``` |
97 |
| - |
98 |
| -<br /> |
99 |
| - |
100 |
| -> Set Up Database |
101 |
| -
|
102 |
| -```bash |
103 |
| -$ python manage.py makemigrations |
104 |
| -$ python manage.py migrate |
105 |
| -``` |
106 |
| - |
107 |
| -<br /> |
108 |
| - |
109 |
| -> Create Superuser |
110 |
| -
|
111 |
| -```bash |
112 |
| -$ python manage.py createsuperuser |
113 |
| -``` |
114 |
| - |
115 |
| -<br /> |
116 |
| - |
117 |
| -> Start the app |
118 |
| -
|
119 |
| -```bash |
120 |
| -$ python manage.py runserver |
121 |
| -``` |
122 |
| - |
123 |
| -At this point, the app runs at `http://127.0.0.1:8000/`. |
124 |
| - |
125 |
| -<br /> |
126 |
| - |
127 |
| -### 👉 Set Up for `Windows` |
128 |
| - |
129 |
| -> Install modules via `VENV` (windows) |
130 |
| -
|
131 |
| -``` |
132 |
| -$ virtualenv env |
133 |
| -$ .\env\Scripts\activate |
134 |
| -$ pip3 install -r requirements.txt |
135 |
| -``` |
136 |
| - |
137 |
| -<br /> |
138 |
| - |
139 |
| -> Set Up Database |
140 |
| -
|
141 |
| -```bash |
142 |
| -$ python manage.py makemigrations |
143 |
| -$ python manage.py migrate |
144 |
| -``` |
145 |
| - |
146 |
| -<br /> |
147 |
| - |
148 |
| -> Start the app |
149 |
| -
|
150 |
| -```bash |
151 |
| -$ python manage.py runserver |
152 |
| -``` |
153 |
| - |
154 |
| -At this point, the app runs at `http://127.0.0.1:8000/`. |
155 |
| - |
156 |
| -<br /> |
157 |
| - |
158 |
| -### 👉 Create Users |
159 |
| - |
160 |
| -By default, the app redirects guest users to authenticate. In order to access the private pages, follow this set up: |
161 |
| - |
162 |
| -- Start the app |
163 |
| -- Access the `registration` page and create a new user: |
164 |
| - - `http://127.0.0.1:8000/register/` |
165 |
| -- Access the `sign in` page and authenticate |
166 |
| - - `http://127.0.0.1:8000/login/` |
167 |
| - |
168 |
| -<br /> |
169 |
| - |
170 |
| -## Start Celery (async task) |
171 |
| - |
172 |
| -- Make sure you have a Redis Server running: `redis://localhost:6379` |
173 |
| - - `$ redis-cli` and type `ping` |
174 |
| -- In the base directory inside `tasks_scripts` folder you need to write your scripts file. |
175 |
| -- Run the celery command from the CLI. |
176 |
| - |
177 |
| -```bash |
178 |
| -$ export DJANGO_SETTINGS_MODULE="core.settings" |
179 |
| -$ celery -A apps.tasks worker -l info -B |
180 |
| -``` |
181 |
| - |
182 |
| -- You will see a new route `Apps -> Tasks` in the sidebar. |
183 |
| -- You can start and cancel any task from the UI. |
184 |
| - |
185 |
| -<br /> |
186 |
| - |
187 |
| -## Enable Social Login |
188 |
| - |
189 |
| -> 👉 **Github Setup** - [Create an OAuth App](https://docs.github.com/en/developers/apps/building-oauth-apps/creating-an-oauth-app) |
190 |
| -
|
191 |
| -- SignIN to `Github` |
192 |
| -- Access `Settings` -> `Developer Settings` -> `OAuth Apps` |
193 |
| -- Edit your OAuth App |
194 |
| - - `App Name` |
195 |
| - - `App Description` |
196 |
| - - (mandatory) `HomePage`: `https://localhost:8000` |
197 |
| - - (mandatory) `Authorization callback URL`: `https://localhost:8000/` |
198 |
| - - Generate a new `secret key` |
199 |
| - |
200 |
| -<br /> |
201 |
| - |
202 |
| -## Recompile SCSS |
203 |
| - |
204 |
| -> Tested with `NodeJS v14.0.0` |
205 |
| -
|
206 |
| -The SCSS/CSS files used to style the Ui are saved in the `static/assets` directory. |
207 |
| -In order to update the Ui colors (primary, secondary) this procedure needs to be followed. |
208 |
| - |
209 |
| -```bash |
210 |
| -$ yarn # install modules |
211 |
| -$ # # edit variables |
212 |
| -$ vi static/assets/scss/soft-ui-dashboard/custom/_variables.scss |
213 |
| -$ gulp # SCSS to CSS translation |
214 |
| -``` |
215 |
| - |
216 |
| -The `_variables.scss` content defines the `primary` and `secondary` colors: |
217 |
| - |
218 |
| -```scss |
219 |
| -$primary: #cb0c9f !default; // EDIT for customization |
220 |
| -$secondary: #8392AB !default; // EDIT for customization |
221 |
| -$info: #17c1e8 !default; // EDIT for customization |
222 |
| -$success: #82d616 !default; // EDIT for customization |
223 |
| -$warning: #fbcf33 !default; // EDIT for customization |
224 |
| -$danger: #ea0606 !default; // EDIT for customization |
225 |
| -``` |
226 |
| - |
227 |
| -<br /> |
228 |
| - |
229 |
| -## Codebase |
230 |
| - |
231 |
| -The project is coded using a simple and intuitive structure presented below: |
232 |
| - |
233 |
| -```bash |
234 |
| -< PROJECT ROOT > |
235 |
| - | |
236 |
| - |-- core/ # Implements app configuration |
237 |
| - | |-- settings.py # Defines Global Settings |
238 |
| - | |-- wsgi.py # Start the app in production |
239 |
| - | |-- urls.py # Define URLs served by all apps/nodes |
240 |
| - | |
241 |
| - |-- home/ # Serves all pages from the UI Kit |
242 |
| - | |
243 |
| - |-- apps/ |
244 |
| - | | |
245 |
| - | |-- common/ # Assets used by all APPS (models, helpers) |
246 |
| - | |-- users/ # Handles Auth Flow |
247 |
| - | |-- api/ # DRF API |
248 |
| - | |-- charts/ # Charts APP |
249 |
| - | |-- tables/ # DataTables APP |
250 |
| - | |-- tasks/ # Celery App |
251 |
| - | |
252 |
| - |-- templates/ # Pages & Templates |
253 |
| - |-- assets/ # Static Assets [ JS, CSS, images ] |
254 |
| - | |
255 |
| - |-- requirements.txt # Development modules - SQLite storage |
256 |
| - | |
257 |
| - |-- .env # Environment |
258 |
| - |-- env.sample # Environment Sample |
259 |
| - | |
260 |
| - |-- manage.py # Django Manager File |
261 |
| - | |
262 |
| - |-- ************************************************************************ |
263 |
| -``` |
264 |
| - |
265 |
| -<br /> |
| 20 | +- Simple, Easy-to-Extend Codebase |
| 21 | +- Soft UI Dashboard PRO Design - Full Integration |
| 22 | +- Bootstrap 5 Styling |
| 23 | +- Session-based Authentication, Password recovery |
| 24 | +- OAuth (GitHub & Google) |
| 25 | +- DB Persistence: SQLite (default), can be used with MySql, PgSql |
| 26 | +- Apps |
| 27 | + - Charts |
| 28 | + - Server-Side Datatables |
| 29 | + - API via DRF |
| 30 | + - Extended Users Profile |
| 31 | + - Async Tasks (Celery) |
| 32 | +- Docker |
| 33 | +- CI/CD integration for Render |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | +<br /> |
266 | 38 |
|
267 | 39 | ---
|
268 |
| -[Soft Dashboard PRO Django](https://appseed.us/product/soft-ui-dashboard-pro/django/) - Starter crafted by **[AppSeed](https://appseed.us/)**. |
| 40 | +[Django Soft Dashboard PRO](https://app-generator.dev/product/soft-ui-dashboard-pro/django/) - **Django** Starter provided by [App Generator](https://app-generator.dev) |
0 commit comments