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 la 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 una API para administrar un blog (El StarWars Blog), los usuarios de este blog van a poder listar planetas, personajes, 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 template
o el express.js template
usando un entorno de desarrollo 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:
1🐍 Para Python/Flask: 2https://github.com/4GeeksAcademy/flask-rest-hello 3 4👩🏽💻 Para Node/Express.js: 5https://github.com/4GeeksAcademy/expressjs-rest-hello
⚠ Si trabajas localmente debes tener una base de datos y Node.js o Python 3.7+ pero si usas Codespaces o Gitpod ya viene todo instalado.
🐍 Para Python: El boilerplate tiene un archivo README con instrucciones y un video de como usarlo y como construir una API. Puedes hacer este tutorial interactivo primero sobre como construir APIs con Flask.
👉 Por favor sigue estos pasos sobre cómo comenzar un proyecto de programació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 comandosadd
,commit
ypush
desde la terminal de git.
Crea una 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>
Muestra la información de un solo personaje según su id.[GET] /planets
Listar todos los registros de planets
en la base de datos.[GET] /planets/<int:planet_id>
Muestra la información de un solo planeta según su id.Adicionalmente, necesitamos crear los siguientes endpoints para que podamos tener usuarios y favoritos 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 id = planet_id
.[POST] /favorite/people/<int:people_id>
Añade un nuevo people
favorito al usuario actual con el 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 un people
favorito 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 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 vía API en vez de depender del admin de Flask.
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 Cursos 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