- Instalar herramientas de desarrollo: vsc, postman, node
- Crear app Angular
- Crear una carpeta del proyecto
- Instalar @angular/cli
- Crear app frontend
- Crear header
- Crear el componente
- Agregar html
- Agregar css
- Lista de comidas
- Crear modelo de comida
- Crear data.ts
- Agregar ejemplos de comidas
- Agregar imagenes a assets
- Crear el servicio de comida
- Crear el componente home
- Agregar ts
- Agregar html
- Agregar css
- Búsqueda
- Agregar metodo al servicio de comida
- Agregar ruta de búsqueda
- Mostrar el resultado de búsqueda en el componente home
- Crear el componente search
- Agregar al componente de inicio
- Agregar ts
- Agregar html
- Agregar css
- Barra de etiquetas(tags) o categorías
- Crear el modelo de tag
- Agregar ejemplos de tag en data.ts
- Servicio Food
- Agregar método para obtener todos los tags
- Agregar método para todas las comidas relacionados a un tag
- Agregar ruta de tags
- Mostrar el tag resultante en el componente home
- Generar el componente Tags
- Agregar al componente home
- Agregar ts
- Agregar html
- Agregar css
- Página de comida
- Agregrar método al servicio food
- Generar el componente de página de food
- Agregar ruta
- Agregar ts
- Agregar html
- Agregar css
- Página del carrito de compras
- Crear modelo CartItem
- Crear modelo Cart
- Generar el servicio Cart
- Añadir el botón agregar al carro en la página de comida
- Generar el componente Cart Page
- Agregar ruta
- Agregar ts
- Agregar html
- Agregar css
- No encontrado
- Generar compoenente
- Agregar ts
- Agregar html
- Agregar css
- Agregar a las páginas
- A la página home
- A la página Food
- A la página Cart
- Generar compoenente
- Conectarse al backend
- Crear la carpeta backend
- npm init -y (inicializa npm en el backend)
- npm install typescript
- crear tsconfig.json
- crear .gitignore
- Copiar data.ts a backend/src
- npm install express cors
- Crear server.ts
- install @types
- Agregar apis
- npm install nodemon ts-node --save-dev
- Agregar urs.ts al frontend
- Agregar HttpClient module
- Actualizar el servicio Food
- Página de login
- Generar componente
- Agregar ruta
- Agregar ts
- Agregar html
- Importar Reactive forms module
- Agregar css
- Agregar api de login
- Usar json
- Agregar jsonwebtoken
- Probar en Postman
- Crear servicio User
- Generar modelo user
- Agregar User Subject
- Agregar el método login
- Agregar urls de user
- Generar IUserLogin interface
- Agregar ngx-toastr
- Import modulo
- Import BrowserAnimationsModule
- Agregar estilos en angular.json
- Agregar al header
- Agregar método local storage
- Agregar el método logout
- Agregar al header
- Generar componente
- Crear componentes para la página login
- Contenedor del input
- Validación del input
- Text Input
- Default button
- Conectar la api de login a MongoDB Atlas
- Mover Apis a routers (enrutadores)
- Crear MongoDB Atlas
- Crear el archivo .env
- Instalar
- mongoose
- dotenv
- bcryptjs: proteger las contraseñas almacenadas en una base de datos
- express-async-handler: Manejo de errores en funciones asincronas
- Conectar a MongoDB Atlas
- Usar MongoDB Atlas en lugar del archivo data.ts en apis
- Registrar usuario
- Agregar api de registro
- Agregar método en el servicio
- Agregar ruta de la página del registro
- Agregar componente de registro
- Loading
- Agregar imagen
- Agregar componente
- Agregar servicio
- Agregar interceptor
- Página checkout
-
Crear modelo Order
-
Crear el componente checkout page
- Agregar ruta
-
Agregar usuario al servicio de usuario
-
Agregar carro al servicio del carro de compras
-
Crear componente de lista de articulos de pedido
-
Agregar mapa en la página de checkout
- Agregar el paquete leaflet para mapas interactivos => npm install leaflet
- Agregar el tipo @types/leaflet => npm install --save-dev @types/leaflet
- Agregar css en angular.json
- Agregar AddressLatLng al modelo de Order
- Crear el componente Map
- Agregar a la página checkout
- Agregar ts
- Cambiar el selector app-map a map
- Agregar html
- Agregar css
- Agregar auth guard
- Agregar el paquete leaflet para mapas interactivos => npm install leaflet
-
Guardar Order
- Agregar modelo Order en backend
- Agregar el status order de tipo enum
- Agregar middleware Auth
- Agregar Router de order
- Agregar la api create
- Agregar urls de order a url.ts
- Agregar el servicio order
- Agregar el método crear
- Agregar el interceptor Auth
-
- Página payment
- Crear el componente
- Agregar api getOrderForCurrentUser
- Agregar método al servicio order
- Conectar el servicio con el componente
- Hacer que el componente del map sea solo de lectura
- Agregar Paypal
- Crear el componente
- Agregar a la página payment
- Obtener el id del cliente paypal
- Agregar Paypal js al index.html
- Configurar el botón paypal
- Agregar la api Pay al router de order
- Obtener una cuenta de zona segura de paypal
- Crear el componente
- Página Order Track
- Crear el componente
- Agregar las rutas
- Agregar api
- Agregar a urls.ts
- Agregar el método al servicio order
- Agregar html
- Agregar css
- Crear el componente
Note
NOTE
Tip
TIP
Warning
WARNING
Caution
CAUTION
Important
Al interior de backend/src/ agregar el archivo '.env' para las variables de entorno
- MONGO_URI=CODIGO_DE_CONEXION_CON_MONGO_DB
- JWT_SECRET=PALABRA_SECRETA_JWT