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.
Client
- HTML
- CSS
- JS
- Wireframe design
Server
- Optionally: Deployable Using GitHub Pages
Database
- N/A
- 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
Please a live demo coming soon.
To get a local copy up and running, follow these steps.
In order to run this project you need:
- Git.
- An IDE (e.g. VS Code)
- Browser to run.
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).
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)
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.
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://...
Zermaden Orazgaliyev (Zema)
- GitHub: @zermarden
- Twitter: @zermarden
- LinkedIn: @zermarden
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
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.
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.
-
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.
This project is MIT licensed.