Competitor Dashboard

Your central hub during sessions

Dashboard Layout

Your dashboard is organized into two columns:

  • Left side — Tabbed content with three tabs: Session, Tools & Deployment, and Logs
  • Right side — Module timer (always visible) and chat with your instructor

Understanding the Timer

The module timer is always visible on the right side of the dashboard. It shows how much time remains for the current task.

  • The timer runs even if you're logged out
  • When paused by the admin, you'll see a "Paused" indicator
  • If you have extended time, it's added to your module timer
  • The timer updates in real-time via WebSocket connection
  • If multiple modules are active, use the switcher buttons in the timer card to switch between them
Submit your work before time expires. Late pushes may not be counted!

Session Tab

The Session tab (selected by default) shows everything about the current module:

  • Module Description — The task requirements and instructions
  • Amendments — Important changes or corrections highlighted in red (if any)
  • Attachments — Downloadable files related to the module (if any)

Tools & Deployment Tab

The Tools & Deployment tab contains your credentials, database connection info, service links, and repository mappings.

Credentials

Your username, password, and module work URL are shown at the top. Use the copy buttons to quickly copy values.

Service Credentials
Git Username + password from dashboard
phpMyAdmin / pgAdmin Same username + password
Dashboard Login 6-digit access code

Database Connection Info

Below your credentials, you'll find connection details for both MySQL and PostgreSQL databases. Each shows:

  • Host — The database server address (with copy button)
  • Port — 3306 for MySQL, 5432 for PostgreSQL
  • User / Pass — Same as your dashboard credentials
Use these connection details when configuring your application's database settings (e.g., .env file).

Quick Links

Tool buttons provide direct access to:

  • Git — Git server for your repositories
  • MySQL — phpMyAdmin for MySQL database management
  • Postgres — pgAdmin for PostgreSQL database management
  • Docs — Documentation and help guides
  • Frameworks — Quick-start guides for common frameworks

Mappings & Deployment Status

Each repository mapping shows a live deployment status that updates every 10 seconds:

  • Success — Your code deployed successfully and is live
  • In Progress — Deployment is running, wait a few seconds
  • Failed — Deployment failed, check your code for errors
  • No deployments — No pushes detected for this repository yet

You can manage your repository mappings here. When you create a repository via the "New Repository" button, a mapping is automatically created linking it to a deployment URL. You can also add additional mappings for extra subdomains.

Logs Tab

The Logs tab shows your deployment logs from the last 24 hours in a terminal-style viewer. This tab only appears if logs are available.

Log Source

Use the Source selector to switch between two log types:

  • Application — Output from your app/PHP container (default). Use this to debug application errors, stack traces, and runtime issues.
  • Container — All other Docker output (nginx, build logs, etc.). Use this to debug deployment failures, routing issues, or container startup problems.

Viewing Logs

  • The first 50 log entries are shown by default
  • Click "Show all" to expand and see all entries
  • Each entry shows a timestamp and the log message
  • Enable Auto refresh to automatically reload logs every 30 seconds
  • Click the refresh button to manually fetch the latest logs

Mapping Selector

If you have multiple repository mappings, use the mapping dropdown to choose which deployment's logs to view. The default mapping is pre-selected.

Best Practices

  • Push frequently — Don't wait until the last minute
  • Check deployment status — Verify each push succeeded on the Tools tab
  • Test your work — Click the "Open" button next to your mapping to view your live site
  • Watch the timer — It's always visible on the right, leave buffer time for final submissions
  • Check logs — If your deployment succeeds but the site doesn't work, check the Logs tab for errors
  • Use copy buttons — Quickly copy credentials and database details to avoid typos
If your dashboard isn't updating, try refreshing the page. Real-time updates require an active WebSocket connection.
Your last active tab is remembered — if you submit a mapping form or refresh the page, you'll return to the same tab.