Leaderboard.Project.-.12.April.2023.mp4
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]
To get a local copy up and running, follow these steps.
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
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 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
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"
You can deploy this project using:
- github pages
- npm run deploy
π€ Author
- GitHub: @githubhandle
- Twitter: @twitterhandle
- LinkedIn: LinkedIn
- [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.
If you like this project, kindly drop a star for me.
I would like to use this medium to appreciate Microverse for giving me this type of opportunity.
This project is MIT licensed.