Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hackademymx/mern-kcal
App de calorias
https://github.com/hackademymx/mern-kcal
css-modules expressjs mern-stack mongodb mongoose nodejs react-router reactjs webpack
Last synced: about 1 month ago
JSON representation
App de calorias
- Host: GitHub
- URL: https://github.com/hackademymx/mern-kcal
- Owner: hackademymx
- Created: 2019-09-14T00:11:52.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-18T22:46:08.000Z (over 1 year ago)
- Last Synced: 2024-03-20T04:10:43.313Z (9 months ago)
- Topics: css-modules, expressjs, mern-stack, mongodb, mongoose, nodejs, react-router, reactjs, webpack
- Language: JavaScript
- Size: 1.89 MB
- Stars: 3
- Watchers: 6
- Forks: 4
- Open Issues: 48
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Aplicación MERN Hackademy
**Instalación**
1. Clona el proyecto `[email protected]:oscaroceguera/MERN-kcal-private.git`
2. Frontend:
* Accede al front en la carpeta `cliente`
* Instala dependecias del front con el comando `npm install` en la carpeta
* Correr nuestra App con el comando `npm start`
3. Backend:
* Accede al back en la carpeta `server`
* instala dependecias con `npm install` en la carpeta server
* Correr nuestra API con el comando `npm start`**Requisitos:**
* Conocimiento de Javascript intermedio
* Conocimientos del controlador de versiones con GIT Usaremos la plataforma GitHub)
* Tener instalado [GIT](https://git-scm.com)
* Tener instalado [Nodejs](https://nodejs.org)
* Tener instalado NPM
* Tener instalado [MongoDB](https://docs.mongodb.com/manual/administration/install-community/)
* Editor de código que desees**API (Backend)**:
* [Nodejs](https://nodejs.org)
* [Expressjs](https://expressjs.com/es)
* [MongoDB](https://www.mongodb.com)**Client (Frontend):**
* [React](https://es.reactjs.org/)
* [Webpack](https://webpack.js.org/)
* [React router](https://reacttraining.com/react-router/web/guides/quick-start)
* [React loadable](https://github.com/jamiebuilds/react-loadable)
* [CSS-modules](https://github.com/css-modules/css-modules)## Objetivo
Utilizando la arquitectura **MERN** (Mongo, Express, React, Node), crear aplicación que guarde la cantidad de calorías consumidas por comida.
* *[x] **00_INICIO:**
* *[x] Preparar ambiente para el API (nuestro primer endpoint):
* Instalar dependencias básicas para levantar un servicio con **Nodejs** usando **Expressjs**
* *[x] Preparar ambiente para el Cliente (hola mundo en reactjs)
* Instalar dependencias básicas para correr **Reactjs** usando **Webpack*** *[x] **01_ALTA_DE_COMIDA:**
* *[x] **[BACK]** - Crear el modelo de tipo de comida:
* uuid: string
* value: string
* *[x] **[BACK]** - Crear controlador de alta de catalogo de tipo de comida
* *[x] **[BACK]** - Crear ruta de acceso a la alta de catalogo de tipo de comida (POST)
* *[x] **[BACK]** - Crear controlador de listado de catalogo de tipo de comida
* *[x] **[BACK]** - Crear ruta de acceso al listado de catalogo de tipo de comida (GET)
* *[x] **[BACK]** - Crear el modelo de tipo de alimento
* uuid: string
* label: string
* kcal: number
* type: String
* *[x] **[BACK]** - Crear controlador de alta de catalogo de tipo de alimento
* *[x] **[BACK]** - Crear ruta de acceso a la alta de catalogo de tipo de alimento (POST)
* *[x] **[BACK]** - Crear controlador de listado de catalogo de tipo de alimento
* *[x] **[BACK]** - Crear ruta de acceso al listado de catalogo de tipo de alimento (GET)
* *[x] **[BACK]** - Crear Modelo de comida:
* uuid: String
* meal: String
* date: date
* foods: referencia al catalogo de tipo de comida
* mealType: referencia al catalogo de tipo de alimento
* *[x] **[BACK]** - Crear controlador de alta de comida
* *[x] **[BACK]** - Crear ruta de acceso para alta de comida (POST)
* *[x] **[FRONT]** - Input de texto para introducir nombre de la comida (Pozole, Menudo, Ceviche, etc).
* *[x] **[FRONT]** - Dropdown que consultara al catalogo de tipo de comida (Desayuno, Comida, Colación, Cena).
* *[x] **[FRONT]** - Datepicker que registra la fecha de consumo.
* *[x] **[FRONT]** - Autocomplete de alimentos utilizados, el cual consultara al catalogo de alimentos (pollo, cebolla, tomates, etc):
* Autocomplete component: `https://gist.github.com/oscaroceguera/621a08f64e1b391059d5a0fc6bff1ccd`
* Autocomplete functions `https://gist.github.com/oscaroceguera/bdf5512e13b399e9b2042dad7078c791`
* *[x] **[FRONT]** - Guardar comida.
* *[x] **02_LISTADO_COMIDAS:**
* *[x] **[BACK]** - Crear controlador de listado de comidas
* *[x] **[BACK]** - Crear ruta de acceso de listado de comidas (GET)
* *[x] **[FRONT]** - Listado de comidas* *[x] **03_ACTUALIZAR_COMIDA:**
* *[x] **[BACK]** - Crear controlador para obtener el de detalle de comida
* *[x] **[BACK]** - Crear ruta de acceso para obtener el detalle de comida (GET)
* *[x] **[FRONT]** - Mostrar de detalle de comida
* *[x] **[BACK]** - Crear controlador para actualizar comida
* *[x] **[BACK]** - Crear ruta para acceder a actualizar comida (PATCH)
* *[x] **[FRONT]** - Actualizar comida* *[x] **04_ELIMINAR_COMIDA:**
* *[x] **[BACK]** - Crear controlador para elimiar comida
* *[x] **[BACK]** - Crear url para acceder a elimiar comida (DELETE)
* *[x] **[FRONT]** - Eliminar comida* *[x] **05_SUMA_DE_KCAL:**
* *[x] **[BACK]** - Crear controlador para obtener la suma de calorias **Por mes**
* *[x] **[BACK]** - Crear ruta para obtener la suma de calorias **Por mes** (GET)
* *[x] **[FRONT]** - Mostrar suma de calorias por mes
* *[x] **[BACK]** - Crear controlador para obtener la suma de calorias **Por mes**
* *[x] **[BACK]** - Crear ruta para obtener la suma de calorias **Por año** (GET)
* *[x] **[FRONT]** - Mostrar suma de calorias por año
* *[x] **[BACK]** - Crear controlador para obtener la suma de calorias **Por día**
* *[x] **[BACK]** - Crear ruta para obtener la suma de calorias **Por día** (GET)
* *[x] **[FRONT]** - Mostrar suma de calorias por día## Nice to have
* *[x] **5.1_TDD_BACK_BONUS**
* *[x] **[BACK]** - TDD* *[ ] **5.2_TDD_FRONT_BONUS**
* *[ ] **[FRONT]** - TDD* *[ ] **5.3_E2E_FRONT_BONUS**
* *[ ] **[FRONT]** - E2E* *[ ] **06_SESION_USUARIOS**
* *[ ] **07_DEPLOY_PRODUCCION:**
* *[ ] **[BACK]** - Heroku
* *[ ] **[BACK]** - AWS EC2
* *[ ] **[FRONT]** - Netlifly
* *[ ] **[FRONT]** - AWS S3