Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
951d56b
feat: frontend y docusaurus
black4ninja Mar 16, 2026
27bcf2c
feat: add parse server, and mailersend
black4ninja Mar 16, 2026
95d2a06
feat: admin complete
black4ninja Mar 20, 2026
87ecbe3
feat: calculus grades
black4ninja Mar 20, 2026
9c47624
feat: competencias ajustes
black4ninja Mar 20, 2026
6787585
feat: docs
black4ninja Mar 22, 2026
ff64f68
feat: Actualización calendario semana 8
black4ninja Mar 22, 2026
ae9611b
fix: add docusaurus content as regular files instead of submodule
black4ninja Mar 22, 2026
a8188a3
feat: Actualización calendario semana 8
black4ninja Mar 22, 2026
2f8a9aa
feat: update
black4ninja Mar 22, 2026
4e2c0ce
feat: update
black4ninja Mar 22, 2026
2b42c36
feat: Actualización calendario semana 8
black4ninja Mar 22, 2026
1e988ba
feat: Actualización calendario semana 8
black4ninja Mar 22, 2026
a6aefa3
feat: Actualización calendario semana 8
black4ninja Mar 22, 2026
ac7b9cb
feat: Actualización calendario semana 8
black4ninja Mar 22, 2026
10b988e
feat: tests
black4ninja Mar 22, 2026
90735bb
feat: fechas ivsibles
black4ninja Mar 22, 2026
9aaae09
feat: Actualización calendario semana 8
black4ninja Mar 22, 2026
35efc74
feat: Actualización calendario semana 8
black4ninja Mar 23, 2026
5705cd7
feat: Actualización calendario semana 8
black4ninja Mar 23, 2026
f877945
feat: Actualización calendario semana 8
black4ninja Mar 23, 2026
8a939ca
feat: Actualización calendario semana 8
black4ninja Mar 23, 2026
b99129b
feat: Actualización calendario semana 8
black4ninja Mar 23, 2026
e8ac9f6
feat: Actualización calendario semana 8
black4ninja Mar 23, 2026
74d930e
feat: Actualización calendario semana 8
black4ninja Mar 23, 2026
210d0ab
feat: Actualización calendario semana 8
black4ninja Mar 23, 2026
5bc45ca
feat: atomic design
strike277 Mar 24, 2026
224f51f
feat: Actualización práctica git
black4ninja Mar 25, 2026
3b747b2
Merge branch 'feat/docusaurus' of github.com:black4ninja/tc2005b.gith…
black4ninja Mar 25, 2026
e014fad
feat: Actualización control de versiones
black4ninja Mar 25, 2026
b91688d
feat: Actualización control de versiones
black4ninja Mar 25, 2026
cb9db13
feat: css avanzado practice
strike277 Apr 6, 2026
48f4c16
Update README.md
strike277 Apr 6, 2026
518487d
feat(downloads): add downloads docusaurus
black4ninja Apr 11, 2026
7186615
Merge branch 'feat/docusaurus' of github.com:black4ninja/tc2005b.gith…
black4ninja Apr 11, 2026
a755526
feat(downloads): add downloads docusaurus
black4ninja Apr 11, 2026
08c0e98
feat(express): update lab express
black4ninja Apr 12, 2026
544a62a
feat(reviews): lab code reviews
black4ninja Apr 12, 2026
01429e8
feat(lab17.5): supabase
black4ninja Apr 20, 2026
bc96137
feat(lab17.5): supabase
black4ninja Apr 20, 2026
258280f
feat(lab17.5): supabase
black4ninja Apr 20, 2026
1190ee9
feat(lab17.5): supabase
black4ninja Apr 21, 2026
af9ee72
feat(lab17.5): supabase
black4ninja Apr 21, 2026
3ca3a6d
feat(lab17): diagrams
black4ninja Apr 21, 2026
9acf8a8
feat: Actualización calendario semana 5
black4ninja Apr 27, 2026
1a80a1b
feat: Actualización calendario semana 5
black4ninja Apr 27, 2026
54aa440
feat: Actualización calendario semana 5
black4ninja Apr 27, 2026
e00c143
feat: Actualización calendario semana 5
black4ninja Apr 27, 2026
99825b9
feat: Actualización calendario semana 5
black4ninja Apr 28, 2026
8d33401
feat: Actualización calendario semana 5
black4ninja Apr 28, 2026
ffb2489
feat: Actualización calendario semana 5
black4ninja Apr 28, 2026
0b74ce1
feat: Actualización calendario semana 5
black4ninja Apr 28, 2026
a702169
feat: Actualización calendario semana 5
black4ninja Apr 28, 2026
02fe425
feat(deploy): add deploy workshop
black4ninja Apr 29, 2026
b426685
feat(deploy): add deploy workshop
black4ninja Apr 29, 2026
11d7a86
feat(deploy): add deploy workshop
black4ninja Apr 29, 2026
140a8b6
feat(crypto): uuid fix
black4ninja Apr 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
45 changes: 45 additions & 0 deletions .claude/plans/concurrent-splashing-nest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Plan: Simplificar layout EvaluacionEntrevistaPage — quitar columna competencia

## Context

La EvaluacionEntrevistaPage ya tiene la grilla alumnos×competencias con selects de profesor, periodo, nivel y retroalimentación. El usuario quiere simplificar el layout:
- **Quitar** la columna izquierda del row header (periodo badge, nombre competencia, nivel, descripción, descriptores de nivel) — ocupa demasiado espacio
- **Agregar** solo el nombre de la competencia como título dentro de cada card/celda, para saber cuál se evalúa

## Archivos a modificar

| Archivo | Cambio |
|---------|--------|
| `EvaluacionEntrevistaPage.tsx` | Quitar `<td>` row header + `<th>Competencia</th>`, agregar nombre competencia dentro del `.cell` |
| `EvaluacionEntrevistaPage.module.css` | Quitar estilos de row header (`compLabel`, `compNivel`, `compDescripcion`, `levelDescriptors`, `periodoBadge`, sticky first-child), agregar `.cellCompName` |

## Cambios en TSX

1. **Eliminar** el `<th>Competencia</th>` del `<thead>`
2. **Eliminar** todo el primer `<td>` del `<tr>` de cada competencia (el que contiene periodoMap badge, compLabel, compNivel, compDescripcion, details/levelDescriptors)
3. **Agregar** dentro de cada `.cell` (antes del label "Profesor") el nombre de la competencia como título:
```tsx
<div className={styles.cellCompName}>{comp.competencia}</div>
```

## Cambios en CSS

1. **Quitar** las reglas de sticky en `.grid th:first-child` y `.grid td:first-child` (ya no hay columna fija)
2. **Quitar** `.compLabel`, `.compNivel`, `.compDescripcion`, `.levelDescriptors` y sub-reglas, `.periodoBadge` — ya no se usan
3. **Agregar** `.cellCompName`:
```css
.cellCompName {
font-size: 0.8125rem;
font-weight: 600;
color: var(--color-text, #333);
margin-bottom: 0.5rem;
padding-bottom: 0.5rem;
border-bottom: 1px solid var(--color-border, #eee);
}
```

## Verificación

1. `cd packages/web && npx tsc --noEmit` — sin errores
2. Cada card muestra: nombre competencia (título) → profesor → periodo → nivel → retroalimentación → guardar
3. No hay columna izquierda redundante
64 changes: 27 additions & 37 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,50 +1,40 @@
# These are some examples of commonly ignored file patterns.
# You should customize this list as applicable to your project.
# Learn more about .gitignore:
# https://www.atlassian.com/git/tutorials/saving-changes/gitignore

# Node artifact files
# Dependencies
node_modules/

# Build outputs
dist/
packages/web/dist/
packages/docusaurus/build/
packages/docusaurus/.docusaurus/
packages/api/dist/

# Compiled Java class files
*.class
# TypeScript
*.tsbuildinfo

# Compiled Python bytecode
*.py[cod]
# Vite
*.local

# Log files
# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Package files
*.jar

# Maven
target/
dist/

# JetBrains IDE
# Editor / IDE
.idea/
.vscode/
*.swp
*.swo
*~

# Unit test reports
TEST*.xml

# Generated by MacOS
# OS generated
.DS_Store

# Generated by Windows
Thumbs.db

# Applications
*.app
*.exe
*.war

# Large media files
*.mp4
*.tiff
*.avi
*.flv
*.mov
*.wmv
# Environment variables
.env
.env.local
.env.*.local

# Deprecated backup directory
deprecated/backup/
75 changes: 47 additions & 28 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,57 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co

## Project Overview

Static course website for **TC2005B - Construcción de Software y Toma de Decisiones** at Tecnológico de Monterrey, Campus Querétaro. Hosted via GitHub Pages.

## Commands

- **Run tests:** `npm test` (uses Vitest with `--globals` flag)
- **Serve locally:** Open `index.html` in a browser or use any static file server (e.g., `npx serve .`)
Course website for **TC2005B - Construcción de Software y Toma de Decisiones** at Tecnológico de Monterrey, Campus Querétaro. Hosted via GitHub Pages.

## Architecture

- **Static HTML site** — no build step, no static site generator. Pages are plain `.html` files.
- **UI Framework:** Materialize CSS (`css/materialize.min.css`, `js/materialize.min.js`) with Google Material Icons.
- **Custom styles:** `css/daw.css`
- **Language:** Spanish (es-mx). All page content, labels, and calendar entries are in Spanish.
**Monorepo** with npm workspaces containing two packages:

### Key Pages
- `packages/web/` — React 19 + Vite 6 + TypeScript SPA (main site: calendar, labs, avances, policies)
- `packages/docusaurus/` — Docusaurus 3.9.2 documentation site (served under `/docs/`)

- `index.html` — Landing page with group selection links
- `grupo1.html`, `grupo2.html` — Class schedule/calendar per group (table-based calendars)
- `code_reviews.html` — Team work policies
Legacy static HTML content (ejercicios, laboratorios, lecturas, documentos) lives in `static-legacy/` and is copied to the build output.

### Content Directories

- `labs/` — Web development labs (HTML, CSS, JS, Node, Express, MVC, sessions, auth, AJAX, REST, deployment)
- `laboratorios/` — Database labs (SQL, stored procedures, transactions, optimization)
- `ejercicios/` — Database exercises (ER models, relational algebra, SQL, normalization)
- `lecturas/` — Reading materials on databases, SQL, usability, application design
- `avances/` — Project milestone/deliverable descriptions
- `documentos/` — Course documents, presentations (.pptx), and supplementary files
- `archived/` — Deprecated content from prior semesters

### Conventions
## Commands

- All HTML pages use the same Materialize boilerplate: navbar, main container, footer with important links.
- Calendar pages (`grupo*.html`) use `<table class="calendario">` with weekly rows.
- Links to labs/exercises use relative paths from the root.
- **Dev servers:** `npm run dev` — starts Vite (port 5173) and Docusaurus (port 3001) concurrently
- **Build:** `npm run build` — builds web + docs + merges into `dist/`
- **Preview:** `npm run preview` — serves the built `dist/` directory
- **Run tests:** `npm test` (uses Vitest with `--globals` flag)
- **Type check:** `cd packages/web && npx tsc --noEmit`

## Key Directories

### `packages/web/src/`
- `components/` — React components organized by feature (layout, home, calendar, labs, avances, policies)
- `data/` — Migrated data files as typed ES modules (labs, avances, calendario)
- `types/` — TypeScript interfaces (Lab, Avance, Calendario, Actividad, etc.)
- `hooks/` — Custom hooks (useCalendarFilter, useWeekNavigation)
- `styles/` — CSS variables and global styles

### Routing (React Router 7)
| Route | Component |
|-------|-----------|
| `/` | HomePage |
| `/calendario/:grupoId` | CalendarPage |
| `/labs/:labId` | LabPage |
| `/avances/:avanceId` | AvancePage |
| `/politicas` | CodeReviewsPage |

### Data Sources
- `data-source/labs/` — Original JS lab data files (34 files, source of truth)
- `data-source/avances/` — Original JS avance data files (6 files)
- `data-source/calendario/` — Original JS calendario data file
- Migrated to TypeScript via `scripts/migrate-data.mjs`

### Legacy Content
- `static-legacy/` — ejercicios, laboratorios, lecturas, documentos, imagenes (copied to build)
- `deprecated/` — All legacy HTML pages, viewers, assets, and content duplicates (not used at runtime)

## Conventions

- **Language:** Spanish (es-mx). All content, labels, and calendar entries are in Spanish.
- **Styling:** CSS Modules with design tokens in `variables.css`. No Tailwind.
- **Fonts:** Inter (Google Fonts) + Material Icons.
- **Data pattern:** Each lab/avance is a separate TS file with typed `export default`. Barrel exports use dynamic imports for code splitting.
- **Links:** Internal links use React Router paths (`/labs/lab1`, `/avances/av1`). External links use full URLs.
Loading