Welcome to the GitHub User Cards project! 🎉 In this project, you'll interact with the GitHub API to create dynamic social cards displaying user profiles. The goal is to practice working with APIs, promises, and DOM manipulation while having some fun! 🚀
- 🛠️ Building DOM components using JavaScript functions.
- 📦 Using 3rd-party libraries like Axios.
- 🤝 Understanding promises:
.then&.catch. - 🌐 Making HTTP GET requests.
- 📚 Utilizing array methods.
- 🖱️ Selecting elements.
- ✍️ Manipulating the DOM.
- 🎯 Handling events and event listeners.
Follow these steps to set up your project and start coding:
-
🍴 Fork this repository to your own GitHub account.
-
📥 Clone your forked repository to your local machine. (Don't clone the original repo by mistake!)
git clone <your-forked-repo-url>
-
🌿 Create a new branch for your work:
git checkout -b <your-first-name-last-name>
-
💾 Commit your changes regularly as you progress.
git add . git commit -m "Descriptive commit message"
-
🔄 Push your changes to GitHub:
git push origin <your-first-name-last-name>
- Submit a Pull Request to merge your branch into
mainon your forked repository.
👉 Note: Do not merge your own pull request! 😅 - Await feedback and approval from your instructor. 📩
- 📝 Follow the instructions in the
components/GithubCard.jsfile to send a GET request to the GitHub API.
Use your GitHub username to start exploring the API data! 🌟
- 📊 Analyze the data returned by the API to understand its structure.
- 🔧 Use the data to dynamically create the HTML template provided in
components/GithubCard.js. - 🖼️ Add your card (based on your GitHub profile) to the DOM.
Feeling ambitious? 🧗♂️ Try these for extra practice:
- 🤝 Retrieve your followers list from the API and programmatically create cards for each follower.
- 🔄 Automate followers' cards creation: Programmatically fetch and display follower data.
- 🔍 Expandable cards: Add a button to expand/collapse cards and include more user info.
- 📈 GitHub Contribution Graph: Embed your GitHub contribution graph! Learn how here.
Only Parts 1 and 2 are required. Stretch goals are optional for additional practice—don’t stress if you can’t complete them! 💪
🚀 Happy Coding! ✨