For all the self-taught geeks out there, here is our content library with most of the learning materials we have produced throughout the years.
It makes sense to start learning by reading and watching videos about fundamentals and how things work.
Data Science and Machine Learning - 16 wks
Full-Stack Software Developer - 16w
Search from all Lessons
Curated list of small interactive and incremental exercises you can take to get better at any coding skill.
Curated section of projects to build while learning with simple instructions, videos, solutions, and more.
Guides on different topics related to the technologies that we teach in our courses
Social & live learning
The most efficient way to learn: Join a cohort with classmates just like you, live streams, impromptu coding sessions, live tutorials with real experts, and stay motivated.
It is recommended to develop this project in conjuntion with the StartWars Blog Reading List, you will eventually integrate both projects and have fully functional applications with backend and front-end.
Today we are going to build one API to manage a blog (about StartWars), users on this blog will be able to list planets, list characters, and create or remove favorites.
To allow users to do all of this, we must follow these steps:
Do not clone this repository because we are going to be using a different template.
We recommend opening the
flask or the ``express.js boilerplate
using a provisioning tool like [Codespaces](https://4geeks.com/lesson/what-is-github-codespaces) (recommended) or [Gitpod](https://4geeks.com/lesson/how-to-use-gitpod). Alternatively, you can clone it on your local computer using thegit clone` command.
These are the repositories you need to open or clone:
For Python/Flask: https://github.com/4GeeksAcademy/flask-rest-hello For Node/Express.js: https://github.com/4GeeksAcademy/expressjs-rest-hell
(you will need to have a database installed and python 3.7+ installed if you do it locally but all of that it's already installed on Gitpod)
The boiplerplate's README files has a video on how to start and complete your API.
🐍 For python: There is an interactive tutorial on how to build a Flask API, it's a similar process but instead of
tasks here you will be dealing with
👉 Please follow these steps on how to start a coding project.
💡 Important: Remember to save and upload your code to GitHub by creating a new repository, updating the remote (
git remote set-url origin <your new url>), and uploading the code to your new repository using the
push commands from the git terminal.
Create an API that connects to a database and implements the following Endpoints (very similar to SWAPI.dev or SWAPI.tech):
[GET] /peopleGet a list of all the people in the database
[GET] /people/<int:people_id>Get a one single people information
[GET] /planetsGet a list of all the planets in the database
[GET] /planets/<int:planet_id>Get one single planet information
Additionally create the following endpoints to allow your StartWars blog to have users and favorites:
[GET] /usersGet a list of all the blog post users
[GET] /users/favoritesGet all the favorites that belong to the current user.
[POST] /favorite/planet/<int:planet_id>Add a new favorite planet to the current user with the planet id =
[POST] /favorite/people/<int:people_id>Add new favorite people to the current user with the people id =
[DELETE] /favorite/planet/<int:planet_id>Delete favorite planet with the id =
[DELETE] /favorite/people/<int:people_id>Delete favorite people with the id =
☝️ Note: here is a sample API in Postman: https://documenter.getpostman.com/view/2432393/TzRSgnTS#a4174b48-3fc8-46e3-bf82-19a08107666f
This exercise will make you practice the following fundamentals:
The following requirements are not necessary to successfully complete this project, but you wpuld like to try coding them if you feel like challenging yourself ☺️
+1 Create also an endpoint to add (POST), update (PUT), and delete (DELETE) planets and people, that way all the database information can be managed using the API instead of having to rely on the flask admin to create the plantes and people.
This and many other projects are built by students as part of the 4Geeks Academy Coding Bootcamp by Alejandro Sanchez and many other contributors. Find out more about our Full Stack Developer Course, and Data Science Bootcamp.