Skip to content

This app is hosted on a free web service, which may introduce a delay (50 seconds or more) in responding to the first request after a period of inactivity while the instance spins up.

Notifications You must be signed in to change notification settings

hcoco1/dashcoco1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Student Performance Dashboard

This project creates an interactive dashboard to visualize and analyze the grades of high school students over time. The dashboard is built using Python, Dash, and Plotly, with Bootstrap for styling.

Blog Post and App Details

https://www.hcoco1.com/blog/2024-05-29-dashboard

Installation

Ensure you have Python 3 and pip installed. Follow these steps to set up your environment:

  1. Clone the repository:

    git clone https://github.com/hcoco1/Dashboard-Plothy-Dash.git
    cd Dashboard-Plothy-Dash
  2. Set up a virtual environment:

    python3 -m venv .venv
    source .venv/bin/activate
  3. Install the dependencies:

    pip install -r requirements.txt

Running the App

  1. Navigate to the source directory:

    cd hcoco1/src
  2. Run the application:

    python3 app.py
  3. Access the dashboard: Open your web browser and go to http://127.0.0.1:8050/.

Application Structure

.
├── Procfile
├── README.md
├── requirements.txt
├── runtime.txt
└── src
    ├── app.py
    └── __init__.py

1 directory, 6 files

Authentication

Dash Enterprise Auth

"The BasicAuth method shown in the provided Python code snippet is not secure and should only be used for very basic purposes or in development environments.

auth = dash_auth.BasicAuth(
    app,
    {'bugsbunny': 'topsecret'}
)

This method employs basic HTTP authentication, where the username (bugsbunny) and password (topsecret) are transmitted with each request in an easily decodable format. Here are the key points to consider:

  1. Lack of Encryption: BasicAuth does not encrypt credentials, making them vulnerable to interception and unauthorized access if transmitted over an unsecured connection (HTTP).

  2. Single Point of Failure: Using a single set of credentials for access means that if those credentials are compromised, the entire application is exposed to potential misuse.

  3. Inadequate for Sensitive Data: This authentication method is insufficient for applications handling sensitive or personal information, as it does not provide the security measures necessary to protect such data.

  4. Limited User Management: There is no facility for managing multiple users or permissions, making it impractical for applications that require role-based access control or individualized user accounts.

  5. Development-Only Use: BasicAuth is suitable for development or simple use cases where security is not a primary concern, such as internal tools or testing environments. For production applications, more robust authentication methods, such as OAuth, JWT, or multi-factor authentication (MFA), should be implemented.

In summary, while BasicAuth offers a straightforward and easy-to-implement solution for basic authentication needs, its inherent security weaknesses make it inappropriate for any application requiring strong security measures." (ChatGPT 4o. 5/28/2024)

Dash Docs

https://dash.plotly.com/authentication

GitHub Plotly

https://github.com/plotly/dash-auth

About

This app is hosted on a free web service, which may introduce a delay (50 seconds or more) in responding to the first request after a period of inactivity while the instance spins up.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages