Backend ECORZA
Aquí encontrarás todo el código fuente del backend
Código Fuente del Backend
Introducción
En esta sección, encontrarás el código fuente del backend de nuestro proyecto. A continuación, se presenta una estructura organizada y comentada para facilitar su comprensión.
Estructura del Proyecto
El backend está organizado siguiendo las mejores prácticas de arquitectura y diseño. A continuación, se describe la estructura de carpetas:
Ejemplo de Código
Backend Código: Haz clic para ver el contenido
src/
├── app
│ ├── app.component.html
│ ├── app.component.ts
│ ├── app.module.ts
│ ├── app-routing.module.ts
│ ├── core
│ │ ├── auth
│ │ │ ├── auth.guard.ts
│ │ │ └── auth.service.ts
│ │ ├── pipes
│ │ │ ├── get-img-url-of-html.pipe.ts
│ │ │ ├── safe-url.pipe.ts
shared
│ │ │ ├── str-to-b64.pipe.ts
│ │ │ └── unsafe-html.pipe.ts
│ │ └── shared
│ │ ├── components
│ │ │ ├── about
│ │ │ │ ├── about.component.html
│ │ │ │ ├── about.component.scss
│ │ │ │ └── about.component.ts
│ │ │ ├── config
│ │ │ │ ├── config.component.html
│ │ │ │ ├── config.component.scss
│ │ │ │ └── config.component.ts
│ │ │ ├── contact
│ │ │ │ ├── contact.component.html
│ │ │ │ ├── contact.component.scss
│ │ │ │ └── contact.component.ts
│ │ │ ├── footer
│ │ │ │ ├── footer.component.html
│ │ │ │ ├── footer.component.scss
│ │ │ │ └── footer.component.ts
│ │ │ ├── menu
│ │ │ │ ├── app.menuitem.component.ts
│ │ │ │ ├── menu.component.html
│ │ │ │ ├── menu.component.scss
│ │ │ │ └── menu.component.ts
│ │ │ └── navbar
│ │ │ ├── navbar.component.html
│ │ │ ├── navbar.component.scss
│ │ │ └── navbar.component.ts
│ │ ├── services
│ │ │ ├── layout.service.ts
│ │ │ └── menu.service.ts
│ │ ├── shared.module.ts
│ │ ├── shared-routing.module.ts
│ │ └── validators
│ │ └── password-matching-validator.ts
│ └── modules
│ ├── admin
│ │ ├── admin.module.ts
│ │ ├── admin-routing.module.ts
│ │ ├── components
│ │ │ └── admin-panel
│ │ │ ├── admin-panel.component.html
│ │ │ ├── admin-panel.component.scss
│ │ │ └── admin-panel.component.ts
│ │ └── services
│ │ └── bad-words.service.ts
│ ├── app-ecorza
│ │ ├── app-ecorza.module.ts
│ │ ├── app-ecorza-routing.module.ts
│ │ ├── components
│ │ │ └── feasibility
│ │ │ ├── feasibility.component.html
│ │ │ ├── feasibility.component.scss
│ │ │ ├── feasibility.component.spec.ts
│ │ │ └── feasibility.component.ts
│ │ └── services
│ │ ├── app-ecorza.service.spec.ts
│ │ └── app-ecorza.service.ts
│ ├── callback
│ │ ├── callback.component.html
│ │ ├── callback.component.scss
│ │ ├── callback.component.spec.ts
│ │ ├── callback.component.ts
│ │ ├── callback.module.ts
│ │ └── callback-routing.module.ts
│ ├── content-management
│ │ ├── components
│ │ │ ├── content-management-detail
│ │ │ │ ├── content-management-detail.component.html
│ │ │ │ ├── content-management-detail.component.scss
│ │ │ │ └── content-management-detail.component.ts
│ │ │ ├── content-management-form
│ │ │ │ ├── content-management-form.component.html
│ │ │ │ ├── content-management-form.component.scss
│ │ │ │ ├── content-management-form.component.spec.ts
│ │ │ │ └── content-management-form.component.ts
│ │ │ ├── content-management-list
│ │ │ │ ├── content-management-list.component.html
│ │ │ │ ├── content-management-list.component.scss
│ │ │ │ └── content-management-list.component.ts
│ │ │ └── content-management-list-post
│ │ │ ├── content-management-list-post.component.html
│ │ │ ├── content-management-list-post.component.scss
│ │ │ └── content-management-list-post.component.ts
│ │ ├── content-management.module.ts
│ │ ├── content-management-routing.module.ts
│ │ └── services
│ │ └── content-management.service.ts
│ ├── ecommerce
│ │ ├── components
│ │ │ ├── home
│ │ │ │ ├── home.component.html
│ │ │ │ ├── home.component.scss
│ │ │ │ └── home.component.ts
│ │ │ ├── products
│ │ │ │ ├── product-detail
│ │ │ │ │ ├── product-detail.component.html
│ │ │ │ │ ├── product-detail.component.scss
│ │ │ │ │ ├── product-detail.component.spec.ts
│ │ │ │ │ └── product-detail.component.ts
│ │ │ │ ├── product-form
│ │ │ │ │ ├── product-form.component.html
│ │ │ │ │ ├── product-form.component.scss
│ │ │ │ │ ├── product-form.component.spec.ts
│ │ │ │ │ └── product-form.component.ts
│ │ │ │ ├── product-list
│ │ │ │ │ ├── product-list.component.html
│ │ │ │ │ ├── product-list.component.scss
│ │ │ │ │ ├── product-list.component.spec.ts
│ │ │ │ │ └── product-list.component.ts
│ │ │ │ └── variant
│ │ │ │ ├── variant.component.html
│ │ │ │ ├── variant.component.scss
│ │ │ │ └── variant.component.ts
│ │ │ ├── quotes
│ │ │ │ ├── quote-detail
│ │ │ │ │ ├── quote-detail.component.html
│ │ │ │ │ ├── quote-detail.component.scss
│ │ │ │ │ ├── quote-detail.component.spec.ts
│ │ │ │ │ └── quote-detail.component.ts
│ │ │ │ ├── quotes.component.html
│ │ │ │ ├── quotes.component.scss
│ │ │ │ ├── quotes.component.spec.ts
│ │ │ │ ├── quotes.component.ts
│ │ │ │ ├── quotes-form
│ │ │ │ │ ├── quotes-form.component.html
│ │ │ │ │ ├── quotes-form.component.scss
│ │ │ │ │ ├── quotes-form.component.spec.ts
│ │ │ │ │ └── quotes-form.component.ts
│ │ │ │ └── quotes-list
│ │ │ │ ├── quotes-list.component.html
│ │ │ │ ├── quotes-list.component.scss
│ │ │ │ ├── quotes-list.component.spec.ts
│ │ │ │ └── quotes-list.component.ts
│ │ │ ├── shopping-cart
│ │ │ │ ├── products-selected
│ │ │ │ │ ├── products-selected.component.html
│ │ │ │ │ ├── products-selected.component.scss
│ │ │ │ │ └── products-selected.component.ts
│ │ │ │ └── shopping-cart
│ │ │ │ ├── shopping-cart.component.html
│ │ │ │ ├── shopping-cart.component.scss
│ │ │ │ ├── shopping-cart.component.spec.ts
│ │ │ │ └── shopping-cart.component.ts
│ │ │ └── store
│ │ │ ├── store.component.html
│ │ │ ├── store.component.scss
│ │ │ ├── store.component.spec.ts
│ │ │ ├── store.component.ts
│ │ │ ├── store-detail
│ │ │ │ ├── store-detail.component.html
│ │ │ │ ├── store-detail.component.scss
│ │ │ │ ├── store-detail.component.spec.ts
│ │ │ │ └── store-detail.component.ts
│ │ │ ├── store-form
│ │ │ │ ├── store-form.component.html
│ │ │ │ ├── store-form.component.scss
│ │ │ │ ├── store-form.component.spec.ts
│ │ │ │ └── store-form.component.ts
│ │ │ └── store-list
│ │ │ ├── store-list.component.html
│ │ │ ├── store-list.component.scss
│ │ │ ├── store-list.component.spec.ts
│ │ │ └── store-list.component.ts
│ │ ├── ecommerce.module.ts
│ │ ├── ecommerce-routing.module.ts
│ │ └── services
│ │ └── ecommerce.service.ts
│ ├── home
│ │ ├── components
│ │ │ ├── home
│ │ │ │ ├── home.component.html
│ │ │ │ ├── home.component.scss
│ │ │ │ ├── home.component.spec.ts
│ │ │ │ └── home.component.ts
│ │ │ └── profile
│ │ │ ├── profile.component.html
│ │ │ ├── profile.component.scss
│ │ │ ├── profile.component.spec.ts
│ │ │ └── profile.component.ts
│ │ ├── home.module.ts
│ │ └── home-routing.module.ts
│ ├── not-found
│ │ ├── not-found.component.html
│ │ ├── not-found.component.scss
│ │ ├── not-found.component.spec.ts
│ │ ├── not-found.component.ts
│ │ └── not-found.module.ts
│ ├── projects
│ │ ├── components
│ │ │ ├── detail-projects
│ │ │ │ ├── detail-projects.component.html
│ │ │ │ ├── detail-projects.component.scss
│ │ │ │ ├── detail-projects.component.spec.ts
│ │ │ │ └── detail-projects.component.ts
│ │ │ ├── projects-admin
│ │ │ │ ├── projects-admin.component.html
│ │ │ │ ├── projects-admin.component.scss
│ │ │ │ ├── projects-admin.component.spec.ts
│ │ │ │ └── projects-admin.component.ts
│ │ │ ├── projects-form
│ │ │ │ ├── projects-form.component.html
│ │ │ │ ├── projects-form.component.scss
│ │ │ │ ├── projects-form.component.spec.ts
│ │ │ │ └── projects-form.component.ts
│ │ │ └── projects-list
│ │ │ ├── projects-list.component.html
│ │ │ ├── projects-list.component.scss
│ │ │ ├── projects-list.component.spec.ts
│ │ │ └── projects-list.component.ts
│ │ ├── projects.module.ts
│ │ ├── projects-routing.module.ts
│ │ └── services
│ │ └── projects.service.ts
│ └── users
│ ├── components
│ │ ├── login
│ │ │ ├── login.component.html
│ │ │ ├── login.component.scss
│ │ │ ├── login.component.spec.ts
│ │ │ └── login.component.ts
│ │ ├── manage-roles-users
│ │ │ ├── manage-roles-users.component.html
│ │ │ ├── manage-roles-users.component.scss
│ │ │ ├── manage-roles-users.component.spec.ts
│ │ │ └── manage-roles-users.component.ts
│ │ ├── password-recovery
│ │ │ ├── password-recovery.component.html
│ │ │ ├── password-recovery.component.scss
│ │ │ └── password-recovery.component.ts
│ │ ├── reset-password
│ │ │ ├── reset-password.component.html
│ │ │ ├── reset-password.component.scss
│ │ │ ├── reset-password.component.spec.ts
│ │ │ └── reset-password.component.ts
│ │ ├── reset-password-token
│ │ │ ├── reset-password-token.component.html
│ │ │ ├── reset-password-token.component.scss
│ │ │ └── reset-password-token.component.ts
│ │ ├── users-form
│ │ │ ├── users-form.component.html
│ │ │ ├── users-form.component.scss
│ │ │ └── users-form.component.ts
│ │ └── users-list
│ │ ├── users-list.component.html
│ │ ├── users-list.component.scss
│ │ └── users-list.component.ts
│ ├── services
│ │ └── user.service.ts
│ ├── users.module.ts
│ └── users-routing.module.ts
├── assets
│ ├── images
│ │ ├── 19.jpeg
│ │ ├── 247.png
│ │ ├── about.jpeg
│ │ ├── campesino.png
│ │ ├── computer.png
│ │ ├── document.png
│ │ ├── favicon negativo.png
│ │ ├── hero-1.jpg
│ │ ├── hero-2.jpg
│ │ ├── hero-2.png
│ │ ├── logoHerra.png
│ │ ├── logo.png
│ │ ├── negocio.png
│ │ ├── pc1.png
│ │ ├── pc1.psd
│ │ ├── pcmen.png
│ │ ├── pc.png
│ │ ├── personas.png
│ │ ├── rio.jpeg
│ │ └── usuario.jpeg
│ └── layout
│ ├── images
│ │ ├── ecorza-logo-dark.svg
│ │ ├── ecorza-logo-white.svg
│ │ └── themes
│ │ ├── arya-blue.png
│ │ ├── arya-green.png
│ │ ├ ── arya-orange.png
│ │ ├── arya-purple.png
│ │ ├── bootstrap4-dark-blue.svg
│ │ ├── bootstrap4-dark-purple.svg
│ │ ├── bootstrap4-light-blue.svg
│ │ ├── bootstrap4-light-purple.svg
│ │ ├── fluent-light.png
│ │ ├── lara-dark-blue.png
│ │ ├── lara-dark-indigo.png
│ │ ├── lara-dark-purple.png
│ │ ├── lara-dark-teal.png
│ │ ├── lara-light-blue.png
│ │ ├── lara-light-indigo.png
│ │ ├── lara-light-purple.png
│ │ ├── lara-light-teal.png
│ │ ├── luna-amber.png
│ │ ├── luna-blue.png
│ │ ├── luna-green.png
│ │ ├── luna-pink.png
│ │ ├── md-dark-deeppurple.svg
│ │ ├── md-dark-indigo.svg
│ │ ├── md-light-deeppurple.svg
│ │ ├── md-light-indigo.svg
│ │ ├── saga-blue.png
│ │ ├── saga-green.png
│ │ ├── saga-orange.png
│ │ ├── saga-purple.png
│ │ ├── tailwind-light.png
│ │ ├── vela-blue.png
│ │ ├── vela-green.png
│ │ ├── vela-orange.png
│ │ └── vela-purple.png
│ └── styles
│ ├── layout
│ │ ├── _config.scss
│ │ ├── _content.scss
│ │ ├── _footer.scss
│ │ ├── layout.scss
│ │ ├── _main.scss
│ │ ├── _menu.scss
│ │ ├── _mixins.scss
│ │ ├── _preloading.scss
│ │ ├── _responsive.scss
│ │ ├── _topbar.scss
│ │ ├── _typography.scss
│ │ ├── _utils.scss
│ │ └── _variables.scss
│ └── theme
│ ├── arya-blue
│ │ └── theme.css
│ ├── arya-green
│ │ └── theme.css
│ ├── arya-orange
│ │ └── theme.css
│ ├── arya-purple
│ │ └── theme.css
│ ├── bootstrap4-dark-blue
│ │ └── theme.css
│ ├── bootstrap4-dark-purple
│ │ └── theme.css
│ ├── bootstrap4-light-blue
│ │ └── theme.css
│ ├── bootstrap4-light-purple
│ │ └── theme.css
│ ├── fluent-light
│ │ └── theme.css
│ ├── lara-dark-blue
│ │ └── theme.css
│ ├── lara-dark-indigo
│ │ └── theme.css
│ ├── lara-dark-purple
│ │ └── theme.css
│ ├── lara-dark-teal
│ │ └── theme.css
│ ├── lara-light-blue
│ │ └── theme.css
│ ├── lara-light-indigo
│ │ └── theme.css
│ ├── lara-light-purple
│ │ └── theme.css
│ ├── lara-light-teal
│ │ └── theme.css
│ ├── mdc-dark-deeppurple
│ │ ├── fonts
│ │ │ ├── roboto-v20-latin-ext_latin-500.woff
│ │ │ ├── roboto-v20-latin-ext_latin-500.woff2
│ │ │ ├── roboto-v20-latin-ext_latin-700.woff
│ │ │ ├── roboto-v20-latin-ext_latin-700.woff2
│ │ │ ├── roboto-v20-latin-ext_latin-regular.woff
│ │ │ └── roboto-v20-latin-ext_latin-regular.woff2
│ │ └── theme.css
│ ├── mdc-dark-indigo
│ │ ├── fonts
│ │ │ ├── roboto-v20-latin-ext_latin-500.woff
│ │ │ ├── roboto-v20-latin-ext_latin-500.woff2
│ │ │ ├── roboto-v20-latin-ext_latin-700.woff
│ │ │ ├── roboto-v20-latin-ext_latin-700.woff2
│ │ │ ├── roboto-v20-latin-ext_latin-regular.woff
│ │ │ └── roboto-v20-latin-ext_latin-regular.woff2
│ │ └── theme.css
│ ├── mdc-light-deeppurple
│ │ ├── fonts
│ │ │ ├── roboto-v20-latin-ext_latin-500.woff
│ │ │ ├── roboto-v20-latin-ext_latin-500.woff2
│ │ │ ├── roboto-v20-latin-ext_latin-700.woff
│ │ │ ├── roboto-v20-latin-ext_latin-700.woff2
│ │ │ ├── roboto-v20-latin-ext_latin-regular.woff
│ │ │ └── roboto-v20-latin-ext_latin-regular.woff2
│ │ └── theme.css
│ ├── mdc-light-indigo
│ │ ├── fonts
│ │ │ ├── roboto-v20-latin-ext_latin-500.woff
│ │ │ ├── roboto-v20-latin-ext_latin-500.woff2
│ │ │ ├── roboto-v20-latin-ext_latin-700.woff
│ │ │ ├── roboto-v20-latin-ext_latin-700.woff2
│ │ │ ├── roboto-v20-latin-ext_latin-regular.woff