chore: scaffold inicial del proyecto y topología del monorepo#1
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Este PR crea el scaffolding inicial del monorepo de SkillStat, estableciendo la estructura base para un frontend independiente y un backend Flask con capas tipo hexagonal (controllers/services/models/repositories), además de algunos archivos de configuración iniciales.
Changes:
- Se agregan directorios/archivos plantilla para frontend (views/assets) y backend (app/clients/scheduler/tests).
- Se incorporan placeholders de datos (samples/dictionaries) y scripts auxiliares (scripts/).
- Se añaden archivos de configuración base (PR template,
.gitignore,.env.example,.editorconfig).
Reviewed changes
Copilot reviewed 123 out of 124 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/seed_db.py | Placeholder de script |
| scripts/build_dictionary.py | Placeholder de script |
| scripts/backup_manual.py | Placeholder de script |
| frontend/views/register.html | Placeholder de vista |
| frontend/views/panorama.html | Placeholder de vista |
| frontend/views/index.html | Placeholder de vista |
| frontend/views/errors/500.html | Placeholder de error view |
| frontend/views/errors/404.html | Placeholder de error view |
| frontend/views/comparar.html | Placeholder de vista |
| frontend/views/alertas.html | Placeholder de vista |
| frontend/views/admin/usuarios.html | Placeholder de vista admin |
| frontend/views/admin/respaldos.html | Placeholder de vista admin |
| frontend/assets/js/utils/validators.js | Placeholder util JS |
| frontend/assets/js/utils/formatters.js | Placeholder util JS |
| frontend/assets/js/utils/auth.utils.js | Placeholder util JS |
| frontend/assets/js/pages/panorama.js | Placeholder page JS |
| frontend/assets/js/pages/comparar.js | Placeholder page JS |
| frontend/assets/js/pages/alertas.js | Placeholder page JS |
| frontend/assets/js/pages/admin.js | Placeholder page JS |
| frontend/assets/js/components/navbar.js | Placeholder component JS |
| frontend/assets/js/components/map.init.js | Placeholder init JS |
| frontend/assets/js/components/chart.init.js | Placeholder init JS |
| frontend/assets/js/api/panorama.api.js | Placeholder API JS |
| frontend/assets/js/api/client.js | Placeholder API client JS |
| frontend/assets/js/api/auth.api.js | Placeholder API JS |
| frontend/assets/js/api/alertas.api.js | Placeholder API JS |
| frontend/assets/js/api/admin.api.js | Placeholder API JS |
| frontend/assets/images/icons/.gitkeep | Mantener dir en git |
| frontend/assets/images/brand/.gitkeep | Mantener dir en git |
| frontend/assets/css/pages/_panorama.css | Placeholder CSS |
| frontend/assets/css/pages/_auth.css | Placeholder CSS |
| frontend/assets/css/pages/_alertas.css | Placeholder CSS |
| frontend/assets/css/pages/_admin.css | Placeholder CSS |
| frontend/assets/css/main.css | Placeholder CSS |
| frontend/assets/css/layouts/_grid.css | Placeholder CSS |
| frontend/assets/css/layouts/_containers.css | Placeholder CSS |
| frontend/assets/css/components/_tables.css | Placeholder CSS |
| frontend/assets/css/components/_navbar.css | Placeholder CSS |
| frontend/assets/css/components/_forms.css | Placeholder CSS |
| frontend/assets/css/components/_charts.css | Placeholder CSS |
| frontend/assets/css/components/_cards.css | Placeholder CSS |
| frontend/assets/css/components/_buttons.css | Placeholder CSS |
| frontend/assets/css/components/_alerts.css | Placeholder CSS |
| frontend/assets/css/base/_variables.css | Placeholder CSS |
| frontend/assets/css/base/_typography.css | Placeholder CSS |
| frontend/assets/css/base/_reset.css | Placeholder CSS |
| docs/propuesta/.gitkeep | Mantener dir en git |
| docs/diagramas/casos-uso.png.gitkeep | Placeholder de diagrama |
| docs/diagramas/.gitkeep | Mantener dir en git |
| data/samples/vacantes_sample.json | Placeholder de sample data |
| data/dictionaries/skills_esco.jsonl | Placeholder dictionary |
| data/dictionaries/skills_custom.jsonl | Placeholder dictionary |
| data/dictionaries/skill_aliases.json | Placeholder aliases |
| backend/tests/unit/test_skills_extraction.py | Placeholder de test unit |
| backend/tests/unit/test_market_trends.py | Placeholder de test unit |
| backend/tests/unit/test_alerts_service.py | Placeholder de test unit |
| backend/tests/unit/init.py | Marcar paquete tests |
| backend/tests/integration/test_panorama_endpoints.py | Placeholder de test integration |
| backend/tests/integration/test_auth_endpoints.py | Placeholder de test integration |
| backend/tests/integration/test_alerts_endpoints.py | Placeholder de test integration |
| backend/tests/integration/init.py | Marcar paquete tests |
| backend/tests/fixtures/sample_skills.json | Placeholder fixture |
| backend/tests/fixtures/sample_jobs.json | Placeholder fixture |
| backend/tests/conftest.py | Placeholder conftest |
| backend/tests/init.py | Marcar paquete tests |
| backend/scheduler/jobs.py | Placeholder scheduler |
| backend/scheduler/init.py | Marcar paquete scheduler |
| backend/run.py | Placeholder entrypoint |
| backend/requirements.txt | Placeholder deps runtime |
| backend/requirements-dev.txt | Placeholder deps dev |
| backend/migrations/.gitkeep | Mantener dir en git |
| backend/clients/sendgrid_client.py | Placeholder client |
| backend/clients/nominatim_client.py | Placeholder client |
| backend/clients/base_client.py | Placeholder client base |
| backend/clients/adzuna_client.py | Placeholder client |
| backend/clients/init.py | Marcar paquete clients |
| backend/app/utils/security.py | Placeholder util |
| backend/app/utils/response.py | Placeholder util |
| backend/app/utils/hash.py | Placeholder util |
| backend/app/utils/errors.py | Placeholder util |
| backend/app/utils/init.py | Marcar paquete utils |
| backend/app/services/skills_extraction_service.py | Placeholder service |
| backend/app/services/market_trends_service.py | Placeholder service |
| backend/app/services/ingestion_service.py | Placeholder service |
| backend/app/services/backup_service.py | Placeholder service |
| backend/app/services/alerts_service.py | Placeholder service |
| backend/app/services/init.py | Marcar paquete services |
| backend/app/schemas/skill_schema.py | Placeholder schema |
| backend/app/schemas/auth_schema.py | Placeholder schema |
| backend/app/schemas/alert_schema.py | Placeholder schema |
| backend/app/schemas/init.py | Marcar paquete schemas |
| backend/app/repositories/user_repository.py | Placeholder repository |
| backend/app/repositories/trend_repository.py | Placeholder repository |
| backend/app/repositories/skill_repository.py | Placeholder repository |
| backend/app/repositories/job_repository.py | Placeholder repository |
| backend/app/repositories/city_repository.py | Placeholder repository |
| backend/app/repositories/category_repository.py | Placeholder repository |
| backend/app/repositories/base_repository.py | Placeholder repository base |
| backend/app/repositories/backup_repository.py | Placeholder repository |
| backend/app/repositories/alert_repository.py | Placeholder repository |
| backend/app/repositories/init.py | Marcar paquete repositories |
| backend/app/models/user.py | Placeholder model |
| backend/app/models/trend_snapshot.py | Placeholder model |
| backend/app/models/skill.py | Placeholder model |
| backend/app/models/job.py | Placeholder model |
| backend/app/models/job_skill.py | Placeholder model |
| backend/app/models/city.py | Placeholder model |
| backend/app/models/category.py | Placeholder model |
| backend/app/models/backup.py | Placeholder model |
| backend/app/models/alert.py | Placeholder model |
| backend/app/models/init.py | Marcar paquete models |
| backend/app/extensions.py | Placeholder extensiones |
| backend/app/controllers/panorama_bp.py | Placeholder controller |
| backend/app/controllers/auth_bp.py | Placeholder controller |
| backend/app/controllers/alerts_bp.py | Placeholder controller |
| backend/app/controllers/admin_bp.py | Placeholder controller |
| backend/app/controllers/init.py | Marcar paquete controllers |
| backend/app/config.py | Placeholder config |
| backend/app/init.py | Marcar paquete app |
| backend/.env.example | Placeholder env example |
| .gitignore | Reglas iniciales de ignore |
| .github/workflows/.gitkeep | Mantener dir workflows |
| .github/PULL_REQUEST_TEMPLATE.md | Template de PR |
| .editorconfig | Placeholder editorconfig |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -0,0 +1 @@ | |||
| No newline at end of file | |||
| @@ -0,0 +1 @@ | |||
| [] No newline at end of file | |||
| @@ -0,0 +1 @@ | |||
| [] No newline at end of file | |||
| @@ -0,0 +1 @@ | |||
| [] No newline at end of file | |||
| @@ -0,0 +1 @@ | |||
| {} No newline at end of file | |||
| @@ -0,0 +1 @@ | |||
| [] No newline at end of file | |||
| @@ -0,0 +1 @@ | |||
| [] No newline at end of file | |||
Ochoa-Stack
commented
Jun 27, 2026
Ochoa-Stack
left a comment
Owner
Author
There was a problem hiding this comment.
Co-authored-by: Balderrama alejandro64.bp@gmail.com
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
chore/initial-project-scaffold
Descripción
Se establece la topología base de directorios y archivos para la arquitectura monorepo de SkillStat. Este cambio define el esqueleto estructural dividiendo el sistema en un frontend independiente y un backend basado en Flask con arquitectura hexagonal (controladores, servicios, modelos, repositorios).
No se incluye lógica de negocio. Todos los archivos creados son plantillas vacías o contienen un comentario de una sola línea indicando su módulo. Se incluyen las configuraciones críticas iniciales:
PULL_REQUEST_TEMPLATE.md)..gitignore)..env.exampley.editorconfig).Tipo de cambio
Cómo probar
developy ejecutargit pulltras el merge.tree -a --dirsfirst -I ".git"frontend/,backend/,data/,scripts/ydocs/con sus respectivos subdirectorios..gitignoreestá activo y previene el rastreo de archivos compilados, entornos virtuales y bases de datos locales.Checklist
Co-authored-by: Balderrama alejandro64.bp@gmail.com