EduScale es una aplicación web Single Page Application (SPA) desarrollada con React para la gestión de admisiones educativas en Argentina. La plataforma permite a los usuarios explorar instituciones educativas y realizar postulaciones de manera digital.
- Catálogo de Instituciones: Explora universidades, colegios y escuelas técnicas
- Sistema de Filtros: Busca por provincia, nivel educativo, tipo de institución y carreras
- Autenticación: Sistema de login simulado con JWT
- Gestión de Postulaciones: Formulario completo para postulaciones
- Estado de Postulaciones: Seguimiento del estado de cada postulación
- Diseño Responsive: Compatible con desktop, tablet y móvil
- Estilo Gubernamental: Diseño inspirado en portales oficiales como argentina.gob.ar
- React 18 - Framework frontend
- React Router v6 - Navegación SPA
- CSS Modules - Estilos modulares (sin Tailwind)
- Context API - Manejo de estado global
- JSON Mock Data - Simulación de APIs
src/
├── components/
│ ├── Navbar.jsx # Barra de navegación superior
│ ├── FiltersBar.jsx # Barra de filtros de búsqueda
│ ├── InstitutionCard.jsx # Tarjeta de institución
│ ├── ModalInstitutionInfo.jsx # Modal con detalles de institución
│ └── Footer.jsx # Pie de página
├── pages/
│ ├── Catalogo.jsx # Página principal del catálogo
│ ├── Login.jsx # Página de inicio de sesión
│ ├── Postulacion.jsx # Formulario de postulación
│ └── MiEstado.jsx # Estado de postulaciones del usuario
├── context/
│ └── AuthContext.jsx # Context para autenticación
├── data/
│ ├── catalogo.json # Datos mock de instituciones
│ └── postulaciones.json # Datos mock de postulaciones
├── App.jsx # Componente principal
└── index.js # Punto de entrada
- Primario:
#2563EB(Azul) - Secundario:
#1E293B(Azul marino) - Fondo:
#F9FAFB(Gris claro) - Texto:
#111827/#334155 - Acentos:
#64748B(Gris medio)
- Node.js (versión 14 o superior)
- npm o yarn
-
Navega al directorio del proyecto:
cd /Users/lolo/Documents/FrontEnd/eduscale -
Instala las dependencias (ya hecho):
npm install
-
Inicia el servidor de desarrollo:
npm start
-
Abre tu navegador y visita:
http://localhost:3000
npm start- Inicia el servidor de desarrollonpm run build- Construye la aplicación para producciónnpm test- Ejecuta los testsnpm run eject- Expone la configuración de Webpack
Para probar el sistema de autenticación, utiliza:
- Email:
usuario@example.com - Contraseña:
password
- Hero section con título y descripción
- Barra de filtros con 4 campos de selección
- Checkbox para filtrar instituciones con becas
- Grid responsive de tarjetas de instituciones
- Modal con información detallada de cada institución
- Página de login con validación
- Simulación de JWT en localStorage
- Context API para manejo de estado de sesión
- Rutas protegidas para usuarios autenticados
- Formulario completo con información personal, académica y documentos
- Carga simulada de archivos
- Validación de campos requeridos
- Redirección automática si no está logueado
- Lista de postulaciones del usuario
- Estados: "En revisión", "Aceptado", "Rechazado"
- Información detallada de cada postulación
- Badges de estado con colores diferenciados
- Interfaz inspirada en portales gubernamentales
- Animaciones sutiles (hover, focus, etc.)
- Responsive design con breakpoints en 768px y 480px
- Accesibilidad con focus states y semantic HTML
- Loading states y error handling
Edita el archivo src/data/catalogo.json para agregar más instituciones:
{
"id": 7,
"nombre": "Nueva Universidad",
"ciudad": "Ciudad",
"provincia": "Provincia",
"nivel": "Universitario",
"tipo": "Pública",
"becas": true,
"descripcion": "Descripción breve",
"descripcionCompleta": "Descripción detallada",
"email": "info@universidad.edu.ar",
"direccion": "Dirección completa",
"carreras": ["Carrera 1", "Carrera 2"],
"logo": "🎓"
}Los estilos están organizados en archivos CSS modulares. Cada componente tiene su propio archivo CSS correspondiente.
- Integración con APIs reales
- Notificaciones push
- Sistema de mensajería interno
- Panel de administración
- Reportes y analytics
- Integración con sistemas de pago
- Autenticación con OAuth2
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE.md para detalles.
Para soporte técnico o consultas sobre el proyecto, contacta a:
- Email: soporte@eduscale.gov.ar
- Tel: +54 11 4000-0000
EduScale - Desarrollado con ❤️ para el Ministerio de Educación de Argentina