Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yashi-singh-1/fcc-forum-leaderboard
Built a dynamic leaderboard displaying the latest topics from the freeCodeCamp forum. This project uses asynchronous JavaScript to fetch and display data, including topic titles, user avatars, and activity metrics.
https://github.com/yashi-singh-1/fcc-forum-leaderboard
api async async-fetch async-programming asynchronous-programming dom dom-manipulation fetch freecodecamp freecodecamp-challenge freecodecamp-frontend freecodecamp-project frontend javascript js web-developement
Last synced: 30 days ago
JSON representation
Built a dynamic leaderboard displaying the latest topics from the freeCodeCamp forum. This project uses asynchronous JavaScript to fetch and display data, including topic titles, user avatars, and activity metrics.
- Host: GitHub
- URL: https://github.com/yashi-singh-1/fcc-forum-leaderboard
- Owner: Yashi-Singh-1
- Created: 2024-08-11T03:58:43.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-08-11T04:13:05.000Z (6 months ago)
- Last Synced: 2024-11-10T11:14:18.536Z (3 months ago)
- Topics: api, async, async-fetch, async-programming, asynchronous-programming, dom, dom-manipulation, fetch, freecodecamp, freecodecamp-challenge, freecodecamp-frontend, freecodecamp-project, frontend, javascript, js, web-developement
- Language: JavaScript
- Homepage:
- Size: 151 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FreeCodeCamp Forum Leaderboard
This project is a solution to the [Learn Asynchronous Programming by Building an FCC Forum Leaderboard challenge on FreeCodeCamp](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures-v8/learn-asynchronous-programming-by-building-an-fcc-forum-leaderboard/step-1). The challenge focuses on using asynchronous JavaScript techniques to fetch and display data from an API.
## Table of contents
- [Overview](#overview)
- [The challenge](#the-challenge)
- [Screenshot](#screenshot)
- [Links](#links)
- [My process](#my-process)
- [Built with](#built-with)
- [What I learned](#what-i-learned)
- [Continued development](#continued-development)
- [Useful resources](#useful-resources)
- [Author](#author)
- [Acknowledgments](#acknowledgments)## Overview
### The challenge
The goal of this challenge is to create a forum leaderboard that displays the latest topics from the freeCodeCamp forum. The leaderboard includes:
- Topic titles with links to their respective pages.
- Avatars of users who posted in each topic.
- Number of replies and views for each topic.
- Time since the last activity on the topic.### Screenshot
![Forum Leaderboard Screenshot](Preview.png)
### Links
- Live Demo: [View the Forum Leaderboard](https://codepen.io/Yashi-Singh/pen/vYqJPGw)
## My process
### Built with
- **HTML5** for the structure and layout of the leaderboard
- **CSS3** for styling and responsive design
- **JavaScript (ES6)** for fetching data from the API and dynamically updating the DOM### What I learned
Working on this project enhanced my understanding of:
- **Asynchronous JavaScript**: Using `fetch` and `async/await` to handle asynchronous operations and manage data retrieval.
- **DOM Manipulation**: Dynamically creating and updating HTML elements based on fetched data.
- **Data Formatting**: Formatting time and view counts for better readability.
- **CSS Flexbox**: Using Flexbox to align and style avatar images in the leaderboard.### Continued development
Future improvements for this project may include:
- **Enhanced UI**: Further refining the design and user interface for a more polished look.
- **Additional Features**: Adding sorting and filtering options for the topics.
- **Mobile Optimization**: Ensuring the leaderboard is fully responsive and functional on mobile devices.
- **Error Handling**: Improving error handling and user feedback in case of data fetching issues.### Useful resources
- [MDN Web Docs - Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) - Documentation on using the Fetch API for network requests.
- [MDN Web Docs - Async Functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Using_promises#async_functions) - Overview of async functions and the `async/await` syntax.
- [CSS Tricks - Flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/) - Comprehensive guide to using Flexbox for layout and design.## Author
- LinkedIn - [Yashi Singh](https://www.linkedin.com/in/yashi-singh-b4143a246)
## Acknowledgments
A big thank you to FreeCodeCamp for providing this challenge, which allowed me to apply and improve my asynchronous programming skills in JavaScript. Special thanks to the community and resources that provided support and inspiration throughout the project.