https://github.com/bestbynature/leaderboard-project
This JavaScript project builds the Leaderboard list app, using webpack and ES6 features, notably modules. It employs the Leaderboard API using JavaScript async and await, with some nice styling.
https://github.com/bestbynature/leaderboard-project
css eslint html5 javascript stylelint
Last synced: about 1 month ago
JSON representation
This JavaScript project builds the Leaderboard list app, using webpack and ES6 features, notably modules. It employs the Leaderboard API using JavaScript async and await, with some nice styling.
- Host: GitHub
- URL: https://github.com/bestbynature/leaderboard-project
- Owner: Bestbynature
- License: mit
- Created: 2023-04-08T17:20:58.000Z (about 2 years ago)
- Default Branch: dev
- Last Pushed: 2023-04-12T09:46:49.000Z (about 2 years ago)
- Last Synced: 2025-05-07T10:02:27.733Z (about 1 month ago)
- Topics: css, eslint, html5, javascript, stylelint
- Language: JavaScript
- Homepage: https://bestbynature.github.io/leaderboard-project/
- Size: 311 KB
- Stars: 12
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
https://user-images.githubusercontent.com/104390780/231420479-8752b6e4-41e8-4699-bd48-45f547866c79.mp4
# 📗 Table of Contents
- [📗 Table of Contents](#-table-of-contents)
- [📖 \[LeaderBoard Project\] ](#-leaderboard-project-)
- [🛠 Built With ](#-built-with-)
- [Tech Stack ](#tech-stack-)
- [Key Features ](#key-features-)
- [🚀 Live Demo ](#-live-demo-)
- [**Leaderboard Project**](#leaderboard-project)
- [💻 Getting Started ](#-getting-started-)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Usage ](#usage-)
- [Run tests ](#run-tests-)
- [Deployment ](#deployment-)
- [👥 Authors ](#-authors-)
- [🔭 Future Features ](#-future-features-)
- [🤝 Contributing ](#-contributing-)
- [⭐️ Show your support ](#️-show-your-support-)
- [🙏 Acknowledgments ](#-acknowledgments-)
- [📝 License ](#-license-)**[LeaderBoard Project](https://bestbynature.github.io/leaderboard-project/)** is a JavaScript project that builds the Leaderboard list app, using webpack and ES6 features (notably modules). It employs the Leaderboard API using JavaScript async and await, with some nice styling. The application contains two buttons - `Refresh` and `Submit`. Clicking the `Submit` button after filling the name and score input will perform a `POST` method on the API and bring back a confirmatory message in the DOM (which disappears after 5 seconds). In contrast, clicking the `Refresh` button performs a `GET` method and pulls the currently available data, with respect to the already programmed GameID, from the API and displays the full list in the DOM.
Client
- HTML
- CSS
- JAVASCRIPT
- **[Linter checks]**
- **[Webpack]**
- **[API]**
### **[Leaderboard Project](https://bestbynature.github.io/leaderboard-project/)**
To get a local copy up and running, follow these steps.
### Prerequisites
In order to run this project you need:
- The current version of node
- To have Git installed on your local machine
- Node Package manager (npm)
- An editor such as Visual Studio Code
### Setup
Clone this repository to your desired folder:
- Create your classic access token from github.com
- run "git clone https://{access_token}@github.com/username/{repo_name}.git"
- Update your git identity by running "git config --global user.email "[email protected]""
- Update your name on git by running "git config --global user.name "your_name"
### Install
Install this project with:
```sh
- In the first commit of your feature branch create a .github/workflows folder and add a copy of [.github/workflows/linters.yml](https://github.com/microverseinc/linters-config/blob/master/html-css-js/.github/workflows/linters.yml) to that folder.
- create a .gitignore file and add 'node_modules' to it
- run 'npm init -y'
- run 'npm install --save-dev [email protected]'
- Copy [hintrc](https://github.com/microverseinc/linters-config/blob/master/html-css-js/.hintrc) to the root directory of your project.
- run 'npx hint .'
- Fix validation errors.
- run 'npm install --save-dev [email protected] [email protected] [email protected] [email protected]'
- Copy [stylelintrc.json](https://github.com/microverseinc/linters-config/blob/master/html-css-js/.stylelintrc.json) to the root directory of your project.
- Run 'npx stylelint "\*_/_.{css,scss}"'
- fix linter errors
- run "npm install --save-dev [email protected] [email protected] [email protected] [email protected]"
- Copy [eslintrc.json](https://github.com/microverseinc/linters-config/tree/master/html-css-js)
- Run npx eslint . on the root of your directory of your project
- Fix linter error.
### To Install Jest
- run npm install --save-dev jest
- add " "test": "jest", "watch": "jest --watch *.js" to the scripts section of package.json"
- run npm install --save-dev @babel/plugin-transform-modules-commonjs
- create a file at the root called .babelrc
- copy `{
"env": {
"test": {
"plugins": ["@babel/plugin-transform-modules-commonjs"]
}
}
}` inside the file
```
### Usage
To run the project, execute the following command:
```sh
use git bash to open in Vs code
use npm start to run web dev server
npm run build to get the production version
```
To run tests, run the following command:
```sh
Run "npx hint ."
Run "npx stylelint "**/*.{css,scss} --fix " to fix linters
Run "npx eslint . --fix to fix linters"
```
You can deploy this project using:
- github pages
```sh
- npm run deploy
```
👤 **Author**
- GitHub: [@githubhandle](https://github.com/Bestbynature)
- Twitter: [@twitterhandle](https://twitter.com/Dammybest)
- LinkedIn: [LinkedIn](https://www.linkedin.com/in/damilare-ismaila-4a5a8b30/)
- [ ] **[contact form page]**
- [ ] **[A feature for prize inclusion]**
- [ ] **[A feature for updating the scores on the board]**
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](../../issues/).
If you like this project, kindly drop a star for me.
I would like to use this medium to appreciate [Microverse](https://microverse.org) for giving me this type of opportunity.
This project is [MIT](./LICENSE) licensed.