Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TinkerHub Dashboard

A Django-based dashboard application that fetches participant data from a Google Sheet, generates tech-themed aliases and avatars, and displays them in a responsive UI.

Features

  • Google Sheets Integration: Fetches real-time participant and settings data from public Google Sheet CSVs.
  • Tech Aliases: Automatically generates consistent, tech-inspired aliases (e.g., name.sh, 0xname) from user names.
  • Avatars: Generates unique robot avatars using the DiceBear API based on the alias.
  • Easter Egg: Includes a hidden "antigravity" easter egg in the code.

Prerequisites

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd tinkerhub-dashboard
  2. Create and activate a virtual environment:

    # Windows
    python -m venv .venv
    .venv\Scripts\activate
    
    # macOS/Linux
    python3 -m venv .venv
    source .venv/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt

Configuration

  1. Create a .env file in the root directory (same level as manage.py).

  2. Add the following environment variables:

    # Security key for Django (keep this secret in production)
    DJANGO_SECRET_KEY=django-insecure-your-secret-key-here
    
    # URL to the published Google Sheet CSV for Participants
    # Columns expected: Name, Role, Domain
    # Example: https://docs.google.com/spreadsheets/d/e/.../pub?output=csv
    GSHEET_URL=https://docs.google.com/spreadsheets/d/your-sheet-id/pub?output=csv
    
    # URL to the published Google Sheet CSV for Settings
    # Columns expected: Key, Value
    # Example keys: event_name, bg_url
    GOOGLE_SHEETS_SETTINGS=https://docs.google.com/spreadsheets/d/your-settings-sheet-id/pub?output=csv

Database Setup

Run the standard Django migrations to set up the SQLite database:

python manage.py migrate

Running the Application

  1. Start the development server:

    python manage.py runserver
  2. Access the dashboard: Open your browser and navigate to http://127.0.0.1:8000/.

Verification

To verify that the application is running correctly and returning expected data (including checking for the easter egg and fallback data), you can run the included verification script:

python verify.py
# or for more detailed checks
python verify_fix.py

Logic Overview

  • Alias Generation: The generate_tech_alias function in dashboard/views.py creates a deterministic tech-themed suffix for each name.
  • Avatar Generation: The generate_avatar_url function uses the generated alias as a seed for the DiceBear Bottts style.
  • Data Fetching: Data is fetched from Google Sheets via the URLs configured in .env. If fetching fails, fallback data is used for demonstration.

Troubleshooting

  • Missing Data: Ensure your GSHEET_URL and GOOGLE_SHEETS_SETTINGS are correct and the Google Sheets are published to the web as CSV.
  • Environment Variables: Make sure .env is in the root directory and you have restarted the server after making changes to it.
  • Dependencies: Ensure all requirements are installed in your virtual environment.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages