This guide walks you through cloning the repository, wiring up environment variables, and booting the virtual office locally with a working Sally AI chat, lead capture, and Teams meeting scheduling. By the end you’ll have a fully functional development instance running atDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/gcsconsultores/centros-estrategicos-gcs/llms.txt
Use this file to discover all available pages before exploring further.
http://localhost:3000 — ready to extend, theme, or connect to your own Microsoft 365 tenant.
Prerequisites before you begin:
- Node.js 18 or higher — Next.js 16 requires Node 18+. Run
node -vto confirm. - A Google Gemini API key — Sally’s chat is required for the core experience. Get a free key at aistudio.google.com.
- Microsoft 365 / Azure AD credentials (optional for local dev) — needed for full SharePoint lead storage and Teams meeting creation. See Minimum Configuration below if you want to skip this step initially.
Install dependencies
Install all Node.js packages using your preferred package manager:The install pulls in Next.js 16.2, React 19, the Vercel AI SDK, all Radix UI primitives, Tailwind CSS v4, and the full shadcn/ui component set — expect the initial install to take 30–60 seconds.
Create .env.local
Copy the template below into a new file named
.env.local at the root of the project. Fill in each value with your own credentials:.env.local
Run the development server
Start the Next.js development server:Once the compiler finishes its initial build, open your browser and navigate to:You should see the GCS login screen. The first compile may take 10–15 seconds as Tailwind v4 processes the CSS.
Log in and explore the virtual office
The platform uses a lightweight client-side auth flow backed by
localStorage — no database required for local development:- Navigate to
/login. - Enter your name in the name field.
- Choose a role:
clienteto test the restricted view, orconsultorfor full access to all six rooms. - Press Ingresar.
/evaluacion. This is a standalone diagnostic tool — it does not affect access to the virtual office in the current implementation.The
eligible field on the User object is set to true by the login page for all users. VirtualOffice.tsx checks user?.eligible before rendering room content; if it is false, users see a prompt to complete the evaluation instead of the office.Minimum Configuration
The app runs with a reduced feature set if the Microsoft 365 variables are omitted from.env.local. Here is exactly what degrades and what stays fully functional:
| Feature | With GOOGLE_GEMINI_API_KEY only | With all env vars |
|---|---|---|
| Sally AI chat | ✅ Fully functional | ✅ Fully functional |
| Lead form submission | ⚠️ Logged to server console | ✅ Written to SharePoint list |
| Teams meeting scheduling | ⚠️ Returns a dev-{timestamp} mock ID | ✅ Real Teams calendar event + joinUrl |
| Vercel Analytics | ✅ Active in production builds | ✅ Active in production builds |
| Room navigation | ✅ Fully functional | ✅ Fully functional |
| Compliance evaluation | ✅ Fully functional | ✅ Fully functional |
Available Scripts
These npm scripts are defined inpackage.json and cover the full development lifecycle:
| Script | Command | Description |
|---|---|---|
| Development server | npm run dev | Starts Next.js in development mode with hot reload at http://localhost:3000 |
| Production build | npm run build | Compiles and optimizes the app for production deployment |
| Production server | npm start | Serves the compiled production build locally |
| Linter | npm run lint | Runs ESLint across the entire project using the Next.js ESLint config |