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.

MIT License

Stars
12

https://user-images.githubusercontent.com/104390780/231420479-8752b6e4-41e8-4699-bd48-45f547866c79.mp4

Table of Contents

[LeaderBoard Project]

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.

Built With

Tech Stack

Key Features

  • [Linter checks]
  • [Webpack]
  • [API]

Live Demo

Leaderboard Project

Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

In order to run this project you need:

Setup

Clone this repository to your desired folder:

Install

Install this project with:

- 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

To run the project, execute the following command:

  use git bash to open in Vs code
  use npm start to run web dev server
  npm run build to get the production version

Run tests

To run tests, run the following command:

Run "npx hint ."
Run "npx stylelint "**/*.{css,scss} --fix " to fix linters
Run "npx eslint . --fix to fix linters"

Deployment

You can deploy this project using:

  • github pages
- npm run deploy

Authors

Author

Future Features

  • [contact form page]
  • [A feature for prize inclusion]
  • [A feature for updating the scores on the board]

Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

Show your support

If you like this project, kindly drop a star for me.

Acknowledgments

I would like to use this medium to appreciate Microverse for giving me this type of opportunity.

License

This project is MIT licensed.

Related Projects