GithubHelp home page GithubHelp logo

app-generator / django-soft-ui-dashboard-pro Goto Github PK

View Code? Open in Web Editor NEW
11.0 4.0 1.0 113 KB

Django Starter - Soft Dashboard PRO (BS5) | AppSeed

Home Page: https://appseed.us/product/soft-ui-dashboard-pro/django/

License: Other

django-template django-theme appseed soft-design django-project django-soft django-soft-dashboard django-soft-template soft-django-dashboard

django-soft-ui-dashboard-pro's Introduction

Django starter styled with Soft Dashboard PRO, a premium Bootstrap 5 KIT from Creative-Tim. The product is designed to deliver the best possible user experience with highly customizable feature-rich pages.


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

Soft Dashboard PRO Django


Start in Docker

Step 1 - Download the code and unzip the sources (requires a purchase).

$ unzip django-soft-ui-dashboard-pro.zip
$ cd django-soft-ui-dashboard-pro

Step 2 - Start the APP in Docker

# 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_ID_HERE>
    • GITHUB_SECRET=<GITHUB_SECRET_HERE>
  • OAuth via Google
    • GOOGLE_CLIENT_ID=<GOOGLE_ID_HERE>
    • GOOGLE_SECRET_KEY=<GOOGLE_SECRET_HERE>

Manual Build

Download the code and unzip the sources (requires a purchase).

$ unzip django-soft-ui-dashboard-pro.zip
$ cd django-soft-ui-dashboard-pro

๐Ÿ‘‰ Set Up for Unix, MacOS

Install modules via VENV

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

Set Up Database

$ python manage.py makemigrations
$ python manage.py migrate

Create Superuser

$ python manage.py createsuperuser

Start the app

$ 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

$ python manage.py makemigrations
$ python manage.py migrate

Start the app

$ 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.
$ 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

  • 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:

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


Soft Dashboard PRO Django - Starter crafted by AppSeed.

django-soft-ui-dashboard-pro's People

Contributors

app-generator avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

cloudguruab

django-soft-ui-dashboard-pro's Issues

Menu logic requiring a registered non-admin user is confusing

After following readme setup instructions and logging in as an admin user I only get a minimal side menu:

image

That's incredibly confusing since there are supposed to be a lot of example pages. Attempts to load the URLs for those pages manually work when I'm admin but get redirected to login when I'm not logged in. Turns out the full menu only show up for registered non-admin users. That's...really unexpected.

Modificaiton of authentication function in 1.0.5

Hi, team,

The /apps/ folder in the root dictionary has been removed in 1.0.5, which has /apps/authentication/, /apps/templates/, etc.
What can I do if I want to modify the authentication or templates now?
I want to change the registration form( use email as username) and add email verification to it. Also, add some email templates to the templates folder.
Thank you in advance.

Best regards,
Gary

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.