Regístrate para obtener acceso a proyectos similares
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 retoUn 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 podcastEs 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:
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.
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
.☝️ Nota: Aquí hay un ejemplo en Postman: https://documenter.getpostman.com/view/2432393/TzRSgnTS#a4174b48-3fc8-46e3-bf82-19a08107666f
Este ejercicio te permitirá practicar las siguientes habilidades y conceptos:
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
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 retoUn 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