Skip to content
/ Base-Angular Public template

This project has the proposition to provide an Angular project with common features used in a regular project, besides try to implement the last technology versions to provide a new solutions to common problems.

Notifications You must be signed in to change notification settings

lreb/Base-Angular

Repository files navigation

Base Angular App - Proyecto Escalable 🚀

Proyecto Angular con arquitectura modular, escalable y mantenible, utilizando NgRx para el manejo de estado centralizado.

✨ Características Principales

  • Escalable: Arquitectura modular que facilita agregar nuevos features
  • 🔧 Mantenible: Código organizado siguiendo mejores prácticas
  • 🧪 Testeable: Separación clara de responsabilidades
  • 📦 NgRx: Manejo de estado centralizado con Store, Effects y Selectors
  • 💎 TypeScript: Seguridad de tipos en toda la aplicación
  • 🧩 Modular: Cada feature es independiente y auto-contenido
  • 🎨 CSS: Estilos con CSS puro

🚀 Inicio Rápido

Ejecutar en modo desarrollo

npm start

La aplicación estará disponible en http://localhost:4200/

Build de producción

npm run build

Los archivos se generarán en dist/

📁 Estructura del Proyecto

src/app/
├── core/              # Servicios singleton y funcionalidades core
│   ├── guards/        # Guards de navegación
│   ├── interceptors/  # HTTP interceptors
│   ├── models/        # Interfaces y modelos
│   └── services/      # Servicios core
├── features/          # Features modulares
│   └── home/          # Ejemplo de feature con NgRx
│       ├── components/
│       └── store/     # Actions, Reducers, Selectors, Effects
├── shared/            # Componentes, directivas y pipes compartidos
├── store/             # Configuración global de NgRx
└── environments/      # Configuraciones de entorno

📚 Documentación Completa

Para información detallada sobre la arquitectura, convenciones y cómo crear nuevos features, consulta:

👉 ARQUITECTURA.md - Guía completa de arquitectura y mejores prácticas

🛠️ Tecnologías

  • Angular 19+ - Framework principal
  • @ngrx/store - Manejo de estado
  • @ngrx/effects - Side effects
  • @ngrx/router-store - Integración routing con store
  • @ngrx/store-devtools - DevTools para debugging
  • TypeScript - Lenguaje principal
  • RxJS - Programación reactiva

🎯 Crear un Nuevo Feature

Para crear un nuevo feature modular con NgRx, sigue la guía en ARQUITECTURA.md.

Pasos básicos:

  1. Crear estructura de carpetas
  2. Implementar Actions, Reducer, Selectors y Effects
  3. Registrar en el store global
  4. Crear componente
  5. Agregar rutas

🧪 Testing

# Ejecutar tests unitarios
npm test

# Tests con coverage
npm run test:coverage

🔍 Linting

npm run lint

📖 Recursos


Proyecto creado con Angular CLI v21.0.2

To build the project run:

ng build

This will compile your project and store the build artifacts in the dist/ directory. By default, the production build optimizes your application for performance and speed.

Running unit tests

To execute unit tests with the Vitest test runner, use the following command:

ng test

Running end-to-end tests

For end-to-end (e2e) testing, run:

ng e2e

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.

About

This project has the proposition to provide an Angular project with common features used in a regular project, besides try to implement the last technology versions to provide a new solutions to common problems.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published