/refactor

In this project, we will refactor the Awesome books application to use JavaScript classes.

Primary LanguageJavaScriptMIT LicenseMIT

Awesome Books: With ES6

Awesome Books: With ES6

Raw HTML CSS & JS CURD Application manages data dynamically using Javascript modules and ES6 syntax. It therefore modifies the DOM dynamically on different events.

📗 Table of Contents

📖 Awesome Books: With ES6

This project Awesome Books demonstrates the application of Javascript structured in modules, with ES6 syntax, HTML and CSS, to manipulate DOM elements and manage data dynamically on specific events. It incorpotates all the coding best practices.

The project includes designs for two different screen sizes.

  • Mobile: up to 768px wide.
  • Desktop: 768px or wider.

Links :

  • The navigation links maniputes the DOM dynamically to show different sections of the site.
  • The logo in the header links to the home page.
  • There is no hamburger button was used for mobile menu.

🛠 Built With

Tech Stack

Client
  • HTML
  • CSS
  • JS
  • Wireframe design
Server
  • Optionally: Deployable Using GitHub Pages
Database
  • N/A

Key Features

  • Conversion of a wireframe design (e.g. figma, sketch, adobe XD ) to HTML/CSS
  • List or Show Books
  • Add or Remove a Book
  • Responsive Web Design: Desktop & Mobile
  • Interactivity Using JS

(back to top)

🚀 Live Demo

Please a live demo coming soon.

(back to top)

💻 Getting Started

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

Prerequisites

In order to run this project you need:

  • Git.
  • An IDE (e.g. VS Code)
  • Browser to run.

Setup

Clone this repository to your desired folder:

  • Using Git Bash or any integrated terminal of you choice.
  • Open with code editor (e.g. VS Code).

Usage

To run the project, execute the following command:

  • Open the index.html file using any local server (e.g. live server extension in VS Code)

Run tests

To run tests, run the following command:


Initial Step:


  • mkdir .github/workflows
  • copy the linters.yml file to the directory created above.
  • touch .gitignore if not created already and add node_modules/ to it.
  • initialize npm to create package.json file by running the command:

npm i -y

(here i for install & -y for saying yes to all)


For Webhint (optional):


  • Run

npm install --save-dev hint@7.x

  • To fix validation errors run:

npx hint .


For Stylelint


  • Run

npm install --save-dev stylelint@13.x stylelint-scss@3.x stylelint-config-standard@21.x stylelint-csstree-validator@1.x

  • Copy .stylelintrc.json to the root directory of your project.

  • Run

npx stylelint "**/*.{css,scss}" on the root of your directory of your project.

  • Fix linter errors.

ESLint


  • Run

npm install --save-dev eslint@7.x eslint-config-airbnb-base@14.x eslint-plugin-import@2.x babel-eslint@10.x

  • Copy .eslintrc.json to the root directory of your project.

  • Run

npx eslint .
on the root of your directory of your project.

  • Fix linter errors.

Deployment

You can deploy this project using:

  • GitHub Pages from a specific branch (e.g. main).
  • You can also used any cloud service like gcloud or Azure.
  • A deployed version can be found here: https://...

(back to top)

👥 Author

Zermaden Orazgaliyev (Zema)

Author

(back to top)

🔭 Future Features

(back to top)

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

⭐️ Show your support

As a tech enthusiast, your support is always appreciated. If you like this project please do let me know with your support in any way you see fit.

(back to top)

🙏 Acknowledgments

I would like to thank especially Microverse for inspiring this project & project guidelines. Thanks also to Porag, a fellow student at Microverse and my once coding partner on this project.

(back to top)

❓ FAQ

  • Can I fork this project?

    • Yes, feel free to fork and knock yourself out :) .
  • Can I share this project with others?

    • Yes, you can share this project for any educational purposes.

(back to top)

📝 License

This project is MIT licensed.

(back to top)