Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/JAQA20/Paradigmas-G3/llms.txt

Use this file to discover all available pages before exploring further.

This guide is the fastest path to a fully running La Comanda instance on your local machine. Because the entire application — React frontend, Express backend, and MySQL database — is containerized with Docker Compose, you do not need to install Node.js, MySQL, or any other runtime directly on your system. Follow the steps below in order and you will have all three services running simultaneously from a single command.
Prerequisites — make sure you have these before starting:
  • Docker Desktop (with the WSL2 backend enabled on Windows)
  • Git — to clone the repository
  • A free Clerk account at clerk.com — needed to generate the publishable API key used for authentication
1

Install WSL2 on Windows (Windows users only)

Docker Desktop on Windows requires WSL2 (Windows Subsystem for Linux) for optimal performance. Open PowerShell as Administrator and run:
wsl --install
After the command completes, restart your computer. A terminal window configuring Ubuntu may appear on reboot — let it finish, then close it. macOS and Linux users can skip this step.
2

Install Docker Desktop

Download and install Docker Desktop from the official page:https://www.docker.com/products/docker-desktop/During installation on Windows, ensure the “Use WSL 2 instead of Hyper-V” checkbox is selected. Once installed, open Docker Desktop from your Start menu and wait until the whale icon in the bottom-left corner turns green and shows “Engine Running” before proceeding.
3

Clone the repository

Open a terminal (PowerShell, Git Bash, or your system terminal) and run:
git clone https://github.com/JAQA20/Paradigmas-G3.git
cd Paradigmas-G3/Proyectos/LaComanda-SaaS-Azul
All subsequent commands in this guide should be run from inside the LaComanda-SaaS-Azul directory.
4

Configure your Clerk publishable key

La Comanda uses Clerk for authentication. You need to provide your Clerk publishable key before the login screen will render. Create the environment file for the frontend:
# From the LaComanda-SaaS-Azul root directory
touch frontend/.env.local
Open frontend/.env.local in any text editor and add the following line, replacing the placeholder with the key from your Clerk dashboard under API Keys:
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_key
Save the file. Docker Compose will inject this variable into the frontend container at build time via the Vite environment system.
The Clerk publishable key must be set in frontend/.env.local before you run docker compose up --build. If the key is missing or incorrect, the login page will fail to initialize the Clerk provider and will not render.
5

Start all services with Docker Compose

With Docker Desktop running in the background and your terminal inside LaComanda-SaaS-Azul, start the full stack:
docker compose up --build
The first run will take several minutes as Docker pulls the MySQL 8.0 image, installs Node.js dependencies for both the frontend and backend, and compiles the TypeScript source. Subsequent starts (without --build) are significantly faster.Once all three containers are healthy you will see log output from all services:
ServiceContainer nameAddress
React + Vite frontendlacomanda_frontendhttp://localhost:5173
Express REST APIlacomanda_backendhttp://localhost:3000
MySQL 8.0 databaselacomanda_dblocalhost:3306 (internal)
To stop all services and completely reset the database volume, run:
docker compose down -v
The -v flag removes the named mysql_data volume, giving you a clean database state on the next docker compose up --build. Omit -v if you want to preserve your data between restarts.
6

Open the application

Navigate to http://localhost:5173 in your browser. You will be presented with the La Comanda login screen powered by Clerk. Sign in with the credentials you configured in your Clerk dashboard to access the full application.To verify the backend is healthy independently, visit http://localhost:3000/api/health — it should return:
{ "status": "ok", "timestamp": "2025-01-01T00:00:00.000Z" }

Port Reference

ServicePortDescription
Frontend5173React + Vite dev server
Backend API3000Express REST API
MySQL3306Database (internal, also exposed for DB clients)
If ports 3000, 3306, or 5173 are already occupied on your machine (e.g., by XAMPP, Laragon, or another Node server), stop those local services before running docker compose up --build so Docker can bind to those ports successfully.

Build docs developers (and LLMs) love