Skip to main content

Prerequisites

Before you begin, make sure you have the following installed:

Node.js 20+

Required for both backend and frontend tooling.

PostgreSQL 16+

The primary database. Must be running before you start the backend.

npm 10+

Used to install and run backend dependencies.

pnpm 9+

Used to install and run frontend dependencies.

Installation

1

Clone the repository

Clone the TaskFlow Pro repository and navigate into the project root.
git clone https://github.com/tu-usuario/taskflow-pro.git
cd taskflow-pro
2

Configure and start the backend

Install backend dependencies, copy the environment file, run database migrations and seeders, then start the dev server.
cd back
npm install
cp .env.example .env
Open .env and fill in your PostgreSQL connection details. See Environment Setup for a full variable reference.
npx knex migrate:latest
npx knex seed:run
npm run dev
The backend starts on http://localhost:3001. Keep this terminal open while you set up the frontend.
3

Configure and start the frontend

In a new terminal, install frontend dependencies and start the Next.js dev server.
cd frontend
pnpm install
pnpm run dev
The frontend starts on http://localhost:3000 and sends all API requests to http://localhost:3001/api/v1. No frontend .env configuration is needed.
4

Log in with seed credentials

Open http://localhost:3000 in your browser. Use any of the seeded accounts below to log in and explore TaskFlow Pro with different permission levels.
NameEmailPasswordRole
Admin Useradmin@taskflow.comAdmin123!Admin
María Garcíamaria@taskflow.comMaria123!Project Manager
Carlos Lópezcarlos@taskflow.comCarlos123!Developer
Start with the Admin account to get full access to user management, global project oversight, and all administrative controls.

Explore the API

Once the backend is running, the interactive Swagger UI is available at:
http://localhost:3001/api-docs
Swagger documents every endpoint with request/response schemas and lets you make authenticated calls directly from the browser. To authenticate, call POST /api/auth/login with a seed credential, copy the returned JWT token, and use the Authorize button in the Swagger UI.

Build docs developers (and LLMs) love