Skip to content

davi-sousa-queiroz/Project-18-API-Hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Project 18 – API Hub (April 12th - 13th, 2026)

💡 Simple Description

A Python terminal app that lets you fetch data from multiple APIs (Pokémon, jokes, and country info) with a clean menu system, while saving user history using JSON.

🧠 The Story

This project actually started as something small.

I had just learned how to request data from APIs, and I built a few mini projects: • a Pokémon data fetcher • a joke generator • a country info finder

At first, they were all separate. Just random scripts.

But then I thought… why am I running 3 different files like an NPC?

So I decided to combine everything into one system.

That’s when things got interesting.

Instead of just writing code, I started thinking like:

how do I actually organize this so it doesn’t turn into spaghetti?

⚙️ What the Project Does

The program runs in the terminal and gives you a menu:

•	Fetch Pokémon data
•	Get random jokes
•	Get country information
•	View saved history

Every time you use it:

•	your searches are saved
•	your joke count is tracked (very important obviously)
•	everything persists using a JSON file

🧱 How I Built It

I didn’t just throw everything into one file and pray.

I structured it like this:

•	api/ → handles all API requests
•	utils/menu.py → handles user interaction
•	utils/file_handler.py → handles JSON saving/loading
•	utils/history.py → displays stored data
•	main.py → connects everything together

I also used:

•	classes so things don’t get messy
•	function mapping instead of 500 if statements
•	JSON as a mini database

🧠 What I Learned

This project felt different.

I learned how to:

•	actually use APIs instead of just copying examples
•	structure multi-file Python projects
•	separate responsibilities so my code doesn’t become chaos
•	save and load data properly with JSON

But the biggest thing was:

building something with a lot going on without needing help every 2 minutes

There were moments I got stuck (and yeah, got a little mad at APIs 💀), but figuring things out myself was the best part.

🚀 What’s Next

This project is basically my transition into backend development.

Next step:

•	turn this into a real API using Flask
•	eventually replace JSON with a real database

💬 Final Thoughts

This project was actually fun to build.

I realized I enjoy this type of work way more when:

•	there’s structure
•	there’s problem solving
•	and I’m not just following a tutorial step by step

Also yeah… APIs can be annoying sometimes 😭

-Davi

🧑‍💻❤️

About

🐍 A Python API hub combining Pokémon, jokes, and country data into one clean system. Because running separate scripts like an NPC wasn't it.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages