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.

Full-Stack Software Developer - 16w

Data Science and Machine Learning - 16 wks

Buscar en lecciones


IngresarEmpezar

Regístrate en 4Geeks

← Volver a Proyectos

Construye un API REST de StarWars

Dificultad

  • easy

Duración promedio

8 hrs

Tecnologías

  • REST

  • Python

    Flask

Dificultad

  • easy

Duración promedio

8 hrs

Tecnologías

Weekly Coding Challenge

Todas las semanas escogemos un proyecto de la vida real para que construyas tu portafolio y te prepares para conseguir un trabajo. Todos nuestros proyectos están construidos con ChatGPT como co-pilot!

Únete al reto

Podcast: Code Sets You Free

Un podcast de cultura tecnológica donde aprenderás a luchar contra los enemigos que te bloquean en tu camino para convertirte en un profesional exitoso en tecnología.

Escuchar el podcast

StarWars Blog API

Es recomendado desarrollar este proyecto en conjunto con el StarWars Blog Reading List, eventualmente ese Front-End se integrará con el API que vas a desarrollar en este proyecto y tendrás una aplicación completamente funcional con Front-End y Back-End.

Hoy vamos a construir un API para administrar un blog (El Starwars Blog), los usuarios de este blog van a poder listar planetas, personas, y agregar o eliminar favoritos.

Para permitir que los usuarios hagan todo esto, debemos seguir los siguientes pasos:

  1. Comienza por modelar la base de datos: crea una base de datos y las tablas necesarias para almacenar esa información, es posible que ya lo hayas hecho en el proyecto StartWars DataModeling en python/flask o node/express
  2. Crea tus endpoints finales utilizando Flask o Express (según el idioma principal de tu clase).
  3. Prueba constantemente endpoints con Postman.

🌱 Cómo comenzar este proyecto

No clones este repositorio porque vamos a usar una plantilla diferente.

Recomendamos abrir el flask boilerplate o el express.js boilerplate usando una herramienta de aprovisionamiento como Codespaces (recomendado) o Gitpod. Alternativamente, puedes clonarlo en tu computadora local usando el comando git clone.

Estos son los repositorios que necesitas abrir o clonar:

Para Python/Flask:
https://github.com/4GeeksAcademy/flask-rest-hello

Para Node/Express.js:
https://github.com/4GeeksAcademy/expressjs-rest-hello

(si trabajas localmente debes tener una base de datos y Node.js o python 3.7+ pero puedes usar Gitpod, trae todo instalado)

🐍 Para Python: El boilerplate tiene un archivo README con instrucciones y un video de como usarlo y como construir un API. Puedes hacer este tutorial interactivo primero sobre como construir API's con Flask.

👉 Por favor sigue estos pasos cómo comenzar un proyecto de codificación.

💡 Importante: Recuerda guardar y subir tu código a GitHub creando un nuevo repositorio, actualizando el remoto (git remote set-url origin <your new url>) y subiendo el código a tu nuevo repositorio usando los comandos add, commit y push desde la terminal de git.

📝 Instrucciones

Crea un API conectada a una base de datos e implemente los siguientes endpoints (muy similares a SWAPI.dev or SWAPI.tech):

  • [GET] /people Listar todos los registros de people en la base de datos
  • [GET] /people/<int:people_id> Listar la información de una sola people
  • [GET] /planets Listar los registros de planets en la base de datos
  • [GET] /planets/<int:planet_id> Listar la información de un solo planet

Adicionalmente, necesitamos crear los siguientes endpoints para que podamos tener usuarios en nuestro blog:

  • [GET] /users Listar todos los usuarios del blog
  • [GET] /users/favorites Listar todos los favoritos que pertenecen al usuario actual.
  • [POST] /favorite/planet/<int:planet_id> Añade un nuevo planet favorito al usuario actual con el planet id = planet_id.
  • [POST] /favorite/people/<int:people_id> Añade una nueva people favorita al usuario actual con el people.id = people_id.
  • [DELETE] /favorite/planet/<int:planet_id> Elimina un planet favorito con el id = planet_id`.
  • [DELETE] /favorite/people/<int:people_id> Elimina una people favorita con el id = people_id.
  • Tu API actual no tiene un sistema de autenticación (todavía), es por eso que la única forma de crear usuarios es directamente en la base de datos usando el flask admin.

☝️ Nota: Aquí hay un ejemplo en Postman: https://documenter.getpostman.com/view/2432393/TzRSgnTS#a4174b48-3fc8-46e3-bf82-19a08107666f

📖 Fundamentos

Este ejercicio te permitirá practicar las siguientes habilidades y conceptos:

  1. Construcción de API's utilizando el standard REST (A.k.a: RESTful API's)
  2. Construir una base de datos utilizando el ORM llamado SQLAlchemy o TypeORM (https://typeorm.io/).
  3. Utilizar y entender sistemas de migraciones de bases de datos con Alembic o las migraciones nativas de TypeORM (en el caso de node.js).

😎 Te sientes con confianza?

Los siguientes requerimientos no son necesarios para completar el proyecto satisfactoriamente, pero puedes desarrollarlos para continuar tu aprendizaje si te sientes con suficiente confianza.

+4 Crea API Endpoints para agregar (POST), modificar (PUT) y eliminar (DELETE) planets y people. De esta manera, toda la base de datos va a poder ser administrada via API.

Este y otros proyectos son usados para aprender a programar por parte de los alumnos de 4Geeks Academy Coding Bootcamp realizado por Alejandro Sánchez y muchos otros contribuyentes. Conoce más sobre nuestros Curso de Programación para convertirte en Full Stack Developer, o nuestro Data Science Bootcamp.

Regístrate para obtener acceso a proyectos similares

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

Dificultad

  • easy

Duración promedio

8 hrs

Tecnologías

Dificultad

  • easy

Duración promedio

8 hrs

Tecnologías

Dificultad

  • easy

Duración promedio

8 hrs

Tecnologías

Dificultad

  • easy

Duración promedio

8 hrs

Tecnologías

Regístrate para obtener acceso a proyectos similares

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

Dificultad

  • easy

Duración promedio

8 hrs

Tecnologías

Dificultad

  • easy

Duración promedio

8 hrs

Tecnologías

Weekly Coding Challenge

Todas las semanas escogemos un proyecto de la vida real para que construyas tu portafolio y te prepares para conseguir un trabajo. Todos nuestros proyectos están construidos con ChatGPT como co-pilot!

Únete al reto

Podcast: Code Sets You Free

Un podcast de cultura tecnológica donde aprenderás a luchar contra los enemigos que te bloquean en tu camino para convertirte en un profesional exitoso en tecnología.

Escuchar el podcast