A tu propio ritmo

Explora nuestra extensa colección de cursos diseñados para ayudarte a dominar varios temas y habilidades. Ya seas un principiante o un aprendiz avanzado, aquí hay algo para todos.

Bootcamp

Aprende en vivo

Únete a nosotros en nuestros talleres gratuitos, webinars y otros eventos para aprender más sobre nuestros programas y comenzar tu camino para convertirte en desarrollador.

Próximos eventos en vivo

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Buscar en lecciones


Ingresar

Empezar tutorial interactivo

← Volver a Proyectos

Aplicación de Manejo de Inventario con React y TypeScript

Dificultad

  • intermediate

Duración promedio

4 hrs

Tecnologías

Dificultad

  • intermediate

Duración promedio

4 hrs

Tecnologías

📝 Instrucciones
📂 Estructura del Proyecto

🌱 ¿Cómo iniciar este proyecto?

Este proyecto usa el siguiente repositorio base:
🔗 4GeeksAcademy/react-hello

Te recomendamos abrir el proyecto usando Codespaces (recomendado) o Gitpod. Alternativamente, puedes trabajar localmente si tienes Node.js instalado.


📝 Instrucciones

Este proyecto consiste en desarrollar el frontend de una Aplicación de Manejo de Inventario con React y TypeScript, integrándolo con el backend desarrollado en FastAPI.

Antes de comenzar, te recomendamos tener listo el backend siguiendo este proyecto:
🔗 API de Manejo de Inventario con FastAPI

De no tenerlo todavía podrías iniciar uasndo datos de prueba


📂 Estructura del Proyecto

Organiza los archivos del proyecto creando las siguientes carpetas en src/:

/src
  /components
    ├── InventoryForm.tsx
    ├── InventoryList.tsx
  /pages
    ├── Home.tsx
    ├── AddItem.tsx
  /services
    ├── api.ts
  App.tsx
  index.tsx
  • InventoryForm.tsx: Formulario para agregar nuevos productos.
  • InventoryList.tsx: Lista de productos obtenidos del backend.
  • api.ts: Archivo para manejar las solicitudes HTTP al backend.

1. 🔧 Configuración de Dependencias

Ejecuta el siguiente comando para instalar las librerías necesarias:

1npm install axios react-router-dom

2. 🔌 Conéctate al Backend

En api.ts, configura Axios para interactuar con la API de FastAPI:

1import axios from "axios"; 2 3const API_URL = "http://localhost:8000/api"; // Reemplázalo con la URL de tu backend 4 5export interface InventoryItem { 6 id?: number; 7 name: string; 8 quantity: number; 9 price: number; 10} 11 12export const getInventory = async (): Promise<InventoryItem[]> => { 13 const response = await axios.get(`${API_URL}/items`); 14 return response.data; 15}; 16 17export const addInventoryItem = async (item: InventoryItem) => { 18 await axios.post(`${API_URL}/items`, item); 19};

3. 🗂️ Muestra la Lista de Productos

En InventoryList.tsx, obtén y muestra los productos desde el backend

4. 📝 Agrega Nuevos Productos

En InventoryForm.tsx, crea un formulario para añadir productos al inventario

5. 🚏 Configura el Router y las Páginas

En App.tsx, configura las rutas, puede verse algo como esto:

1import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; 2import InventoryList from "./components/InventoryList"; 3import InventoryForm from "./components/InventoryForm"; 4 5function App() { 6 return ( 7 <Router> 8 <Routes> 9 <Route path="/" element={<InventoryList />} /> 10 <Route path="/add" element={<InventoryForm />} /> 11 </Routes> 12 </Router> 13 ); 14} 15 16export default App;

🎨 Mejora la Experiencia del Usuario


🚀 Bonus: Despliega tu Aplicación


🎉 ¡Felicidades! Ahora tienes una Aplicación de Manejo de Inventario completamente funcional con React, TypeScript y FastAPI. 🚀

Regístrate para obtener acceso gratis a este proyecto

Lo usaremos para darte acceso a la comunidad.
¿Ya tienes una cuenta? Inicia sesión aquí.

Al registrarte estás aceptando nuestros Términos y condiciones y Política de privacidad.

Dificultad

  • intermediate

Duración promedio

4 hrs

Tecnologías

Dificultad

  • intermediate

Duración promedio

4 hrs

Tecnologías

Dificultad

  • intermediate

Duración promedio

4 hrs

Tecnologías

Dificultad

  • intermediate

Duración promedio

4 hrs

Tecnologías

Regístrate para obtener acceso gratis a este proyecto

Lo usaremos para darte acceso a la comunidad.
¿Ya tienes una cuenta? Inicia sesión aquí.

Al registrarte estás aceptando nuestros Términos y condiciones y Política de privacidad.

Dificultad

  • intermediate

Duración promedio

4 hrs

Tecnologías

Dificultad

  • intermediate

Duración promedio

4 hrs

Tecnologías

Material de apoyo

Para prepararte mejor para completar estos ejercicios, sugerimos los siguientes materiales

Lección

Qué es un Hook en React

Lección

Aprender React Aquí: Tutorial de React JS

Ejercicio

Curso de React.js desde cero y ejercicios interactivos

Proyecto

Aplicación de Todolist usando React y Fetch