# Quick Start

### Compile the product <a href="#compile-the-product" id="compile-the-product"></a>

&#x20;To compile the product and use it locally, **Python3** should be installed and accessible via the terminal. The source code can be downloaded from the official repository or downloaded in ZIP format from the [product page](https://codedthemes.com/item/datta-able-pro-django-template/).

&#x20;**Download the sources** and unzip the archive.

```
$ cd django-datta-able-pro
```

&#x20;**Create a virtual environment**

```
$ virtualenv env
$ source env/bin/activate
```

&#x20;**Install modules**

```
$ pip3 install -r requirements.txt
```

&#x20;**Create the tables** by running a Django `migration`

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

&#x20;**Start the application**

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

If all goes well, we can access **Datta Able Django PRO** in the browser `http://127.0.0.1:8000/`.

![Datta Able Django PRO -Login Page.](/files/-MX1OmVHGPdWIEaBNeZJ)

### Codebase structure

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

```
< PROJECT ROOT >
   |
   |-- core/                    # Implements app logic and serve the static assets
   |    |-- settings.py         # Django app bootstrapper
   |    |-- static/
   |    |-- templates/          # Templates used to render pages
   |         |-- includes/      # HTML chunks and components
   |         |-- layouts/       # Master pages
   |         |-- accounts/      # Authentication pages
   |         |
   |      index.html            # The default page
   |       *.html               # All other HTML pages
   |
   |-- authentication/          # Handles auth routes (login and register)
   |-- app/                     # A simple app that serve HTML files
   |
   |-- requirements.txt         # Development modules - SQLite storage
   |-- .env                     # Inject Configuration via Environment
   |-- manage.py                # Start the app - Django default start script
   |
   |-- ************************************************************************
```

### The bootstrap flow <a href="#the-bootstrap-flow" id="the-bootstrap-flow"></a>

* Django bootstrapper `manage.py` uses `core/settings.py` as the main configuration file
* `core/settings.py` loads the app magic from `.env` file
* Redirect the guest users to Login page
* Unlock the pages served by *app* node for authenticated users

### Deployment <a href="#deployment" id="deployment"></a>

The app is provided with a basic configuration to be executed in [Docker](https://www.docker.com/), a popular virtualization software. To start the project inside a Docker container, please type the following commands:

1# - **UNZIP the archive** and change the current directory

```
cd django-datta-able-pro
```

2# - **Download the required packages**

```
sudo docker-compose pull
```

3# - **Build the Docker packages**

```
sudo docker-compose build
```

4# - **Start the dockerized application**

```
sudo docker-compose up
```

By visiting`http://localhost:5005`the browser, we should see the app running.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://codedthemes.gitbook.io/django-datta/quick-start.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
