Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/app-generator/django-berry-dashboard-pro

Django - Berry Dashboard PRO | AppSeed
https://github.com/app-generator/django-berry-dashboard-pro

appseed berry-dashboard bootstrap5 django

Last synced: 20 days ago
JSON representation

Django - Berry Dashboard PRO | AppSeed

Awesome Lists containing this project

README

        

# [Django Berry PRO](https://appseed.us/product/berry-dashboard-pro/django/)

**Django** starter styled with **[Berry Dashboard PRO](https://appseed.us/product/berry-dashboard-pro/django/)**, a premium `Bootstrap 5` design from `CodedThemes`.
The product is designed to deliver the best possible user experience with highly customizable feature-rich pages.

- 🛒 [Django Berry PRO](https://appseed.us/product/berry-dashboard-pro/django/) - `Product page` (contains payment links)
- 👉 [Django Berry PRO](https://django-berry-pro.onrender.com) - `LIVE Demo`


## Features

- `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`

![Berry Bootstrap 5 PRO - Premium Template Django Template.](https://user-images.githubusercontent.com/51070104/215728155-9b9cfe26-96e8-49c3-8a08-131d96f4f2eb.png)


## Start in `Docker`

> **Step 1** - Download the [code](https://appseed.us/product/berry-dashboard-pro/django/) and unzip the sources (requires a `purchase`).

```bash
$ unzip django-berry-pro.zip
$ cd django-berry-pro
```


> **Step 2** - Start the APP in `Docker`

```bash
# Optional (kill all existing containers)
$ docker container kill $(docker ps -q) ; docker container rm $(docker ps -a -q) ; docker network prune -f
# Start the APP
$ docker-compose up --build
```

Visit `http://localhost:5085` in your browser. The app should be up & running.


## Create new `.env` from `env.sample`

The meaning of each variable can be found below:

- `DEBUG`: if `True` the app runs in develoment mode
- For production value `False` should be used
- `MYSQL` credentials
- `DB_ENGINE`, default value = `mysql`
- `DB_NAME`, default value = `appseed_db`
- `DB_HOST`, default value = `localhost`
- `DB_PORT`, default value = `3306`
- `DB_USERNAME`, default value = `appseed_db_usr`
- `DB_PASS`, default value = `pass`
- `OAuth` via Github
- `GITHUB_ID`=
- `GITHUB_SECRET`=
- `OAuth` via Google
- `GOOGLE_CLIENT_ID`=
- `GOOGLE_SECRET_KEY`=


## Manual Build

> **Step 1** - Download the [code](https://appseed.us/product/berry-dashboard-pro/django/) and unzip the sources (requires a `purchase`).

```bash
$ unzip django-berry-pro.zip
$ cd django-berry-pro
```


### 👉 Set Up for `Unix`, `MacOS`

> Install modules via `VENV`

```bash
$ virtualenv env
$ source env/bin/activate
$ pip3 install -r requirements.txt
```


> Set Up Database

```bash
$ python manage.py makemigrations
$ python manage.py migrate
```


> Create Superuser

```bash
$ python manage.py createsuperuser
```


> Start the app

```bash
$ python manage.py runserver
```

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


### 👉 Set Up for `Windows`

> Install modules via `VENV` (windows)

```
$ virtualenv env
$ .\env\Scripts\activate
$ pip3 install -r requirements.txt
```


> Set Up Database

```bash
$ python manage.py makemigrations
$ python manage.py migrate
```


> Start the app

```bash
$ python manage.py runserver
```

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


### 👉 Create Users

By default, the app redirects guest users to authenticate. In order to access the private pages, follow this set up:

- Start the app
- Access the `registration` page and create a new user:
- `http://127.0.0.1:8000/register/`
- Access the `sign in` page and authenticate
- `http://127.0.0.1:8000/login/`


## Start Celery (async task)

- Make sure you have a Redis Server running: `redis://localhost:6379`
- `$ redis-cli` and type `ping`
- In the base directory inside `tasks_scripts` folder you need to write your scripts file.
- Run the celery command from the CLI.

```bash
$ export DJANGO_SETTINGS_MODULE="core.settings"
$ celery -A apps.tasks worker -l info -B
```

- You will see a new route `Apps -> Tasks` in the sidebar.
- You can start and cancel any task from the UI.


## Enable Social Login

> 👉 **Github Setup** - [Create an OAuth App](https://docs.github.com/en/developers/apps/building-oauth-apps/creating-an-oauth-app)

- SignIN to `Github`
- Access `Settings` -> `Developer Settings` -> `OAuth Apps`
- Edit your OAuth App
- `App Name`
- `App Description`
- (mandatory) `HomePage`: `https://localhost:8000`
- (mandatory) `Authorization callback URL`: `https://localhost:8000/`
- Generate a new `secret key`


## Codebase

The project is coded using a simple and intuitive structure presented below:

```bash
< PROJECT ROOT >
|
|-- core/ # Implements app configuration
| |-- settings.py # Defines Global Settings
| |-- wsgi.py # Start the app in production
| |-- urls.py # Define URLs served by all apps/nodes
|
|-- home/ # Serves all pages from the UI Kit
|
|-- apps/
| |
| |-- common/ # Assets used by all APPS (models, helpers)
| |-- users/ # Handles Auth Flow
| |-- api/ # DRF API
| |-- charts/ # Charts APP
| |-- tables/ # DataTables APP
| |-- tasks/ # Celery App
|
|-- templates/ # Pages & Templates
|-- assets/ # Static Assets [ JS, CSS, images ]
|
|-- requirements.txt # Development modules - SQLite storage
|
|-- .env # Environment
|-- env.sample # Environment Sample
|
|-- manage.py # Django Manager File
|
|-- ************************************************************************
```


---
[Django Berry PRO](https://appseed.us/product/berry-dashboard-pro/django/) - Starter crafted by **[AppSeed](https://appseed.us/)**.