Skip to content

Latest commit

 

History

History
161 lines (112 loc) · 8.26 KB

README.md

File metadata and controls

161 lines (112 loc) · 8.26 KB

HenryLogo

PF - Henry: El Campito Refugio ONG

Objetivos del Proyecto

  • Construir una App utlizando React, Redux, Node y MongoDB entre otras.
  • Afirmar y conectar los conceptos aprendidos en la carrera.
  • Aprender mejores prácticas.
  • Aprender y practicar el workflow de GIT.
  • Practicar métodos de SCRUM.

BoilerPlate

El boilerplate cuenta con dos carpetas: api y client. En estas carpetas estará el código del back-end y el front-end respectivamente.

En api podrá encontrar además del archivo app.js (para levantar la app y sicronizar con la DB). Además encontramos los folders:

  • [config] ---> aquí se configura la base de datos usando la dependencia Mongoose.
  • [models] ---> para crear las tablas de la DB.
  • [routes] ---> para crear las rutas que va a consumir el front.
  • [controllers] ---> para descongestionar de código en las rutas y generar la lógica necesaria para las mismas aquí.
  • [util] ---> para alojar funciones más complejas y extensas y reducir código en los controllers.
  • [middlewares] ---> para alojar los middleware que se colocan entre los reqy los res de los controllers.

En api crear un archivo llamado: .env que tenga las variables de entorno:

USER = elcampito 
PASS = ZoSzoSTtKgz8vhdb
NAME_DB = dbapi
PORT = 3001
FRONT = 3000
SECRET = pepillo
TOKEN_SECRET=123
GMAIL_PASSWORD=gfbjvbpweuafacmp
GMAIL_USER=[email protected]
ACCESS_TOKEN =  APP_USR-5942738066993730-010207-4b1a981dd2a465926e617e0a7b156c78-1277420535
PAYPAL_API_CLIENT=ATxN-COATDrhTAh2FTj46MY9VUMs3L02fcECHcXoCghkp8R_k3bmCngi2X-7SYDfu10JUItC6YxuWIck
PAYPAL_API_SECRET=EIjHmxUb-KpivT9E2QY53MfQbZTkstZzmjXvx4GCaEzIvnBEGd7D6p55qGezE56BxSmaUzkXMaHWBQQH
PAYPAL_API=https://api-m.sandbox.paypal.com

client

El contenido de client fue creado usando: Create React App, y revestido de las dependencias necesarias para implementar Redux.

En client podrá encontrar, dentro de src, además del archivo index.js (con el ReactDOM) y app (con las rutas del front), los siguientes folders:

  • [assets] ---> para incorporar todo tipo de archivo multimedia (imagenes, videos, tutoriales, audios).
  • [components] ---> modularizamos aqui todos los componentes.
  • [hooks] ---> además de todos los hooks nativos de react podemos crear nuestros propios hooks funcionales que realicen alguna acción dentro de los componente, pero que extraemos el código y lo ponemos aquí para no recargar el componente y que quede por demás extenso. En la medida de lo posible, la lógica siempre fuera del componente.
  • [redux] ---> aqui actions.js, reducer.js y store.js para el manejo de un store global.
  • [styles] ---> aquí todos los archivos de estilos modularizados que serán llamados luego por los componentes.

Branches

Para un manejo ordenado se recomienda crear una rama nueva por cada función o componente a trabajar...y una vez aprobado y mergeado pasar a eliminar la rama, para evitar una lista indefinida de ramas. De esa forma solo quedarnos con las ramas activas.

Eliminar ramas por consola:

// para borrar la branch local
git branch -d myRama

// para borrar la branch remota
git push origin --delete myRama

Por otro lado, github tiene un boton para eliminar ramas remotas.

Para la creación de nuevas ramas seguir las siguientes líneas:

git checkout -b myRama

git pull origin developer
// nos actualiza los últimos cambios a partir de la rama de desarrollo

Enunciado

Proyecto Full Web Stack de un portal web para dar a publicidad la acción de la ONG el campito Refugio. El usuario podrá además de tomar conocimiento, realizar donaciones, solicitar visitas, convertirse en voluntarios entre otros. El administrador podrá, a través de un panel de administración, incorporar diferentes input, desde información, nuevos perros, cambio de fotografías, podrá borrar, modificar o confimar roles de usuario...

Tecnologías usadas

  • React
  • Redux
  • Express
  • MongoDB - Mongoose

Plataformas de apoyo organizacional

Formularios en Drive

Testing

  • Al menos tener 5 componentes del frontend con sus tests respectivos
  • Al menos tener 5 rutas del backend con sus tests respectivos
  • Al menos tener 5 modelos de la base de datos con sus tests respectivos

Equipo de Desarrollo: DINAMO

views

Algunas vistas de diseño mobile...

Diagrama de relaciones de la DB

La app contara con una base de datos dinamica que permitira almacenar datos y relacionarlos de manera tal de presentar al administrador información útil y sensible para asistirlo en sus funciones organizacionales.

Panel de Aministrador

Desde el Panel de Administrador podrán consultar todas las tables de la base de dato, crear nuevos input y editarlos en caso de requerir modificaciones.