Easily find the job you're looking for.
Users should be able to:
- View the optimal layout for the site depending on their device's screen size.
- See hover states for all interactive elements on the page.
- See animations when making a change on the page.
- Filter job listings based on the tags.
- Semantic HTML
- Tailwind CSS - Styling
- Vue.js - JavaScript framework
- How to fully customize a scrollbar with scroll up/down arrows.
- How to filter a list of items based on the searched keywords.
- How to make a dynamic layout when the height of non-sibling, non-statically-positioned elements changes, using the
useElementSize
utility function from VueUse library. - How to leverage AutoAnimate for implementing animations.
- How to use the
datalist
element to create a select list. - How to work with the Setup Syntax in a Pinia store.
1. First, you need to clone the project:
git clone https://github.com/ShayanTheNerd/job-listings.git
Alternatively, you can copy the source of the project directly to your local environment using Degit:
pnpm i -g degit
degit https://github.com/ShayanTheNerd/job-listings new-project-folder
2. Then, install required packages:
pnpm i
3. Finally, run the dev
script to start the dev server and locally preview the project in development mode:
pnpm run dev
Before deploying the project or creating a new pull request, run the following commands and make sure there are no errors:
pnpm run format
pnpm run build
Also, to ensure that everything is as expected, you can run the preview
command to locally preview the project in production mode:
pnpm run preview
If you want to develop this project, please stick to these rules:
- Follow the current architecture, coding paradigm, and project folder structure.
- Follow the current character case principals for ids, classes, variables, file and folder names, etc.
- Code based on the current libraries, frameworks, and packages included in the project.
- For styling, utilize Tailwind's features as much as possible, but also make sure to use BEM methodology for naming custom CSS classes.
- Add Git commit messages considering Conventional Commits.
Your contribution is always welcome, please follow these steps:
- Fork the project.
- Create your feature branch:
git checkout -b feature/branch-name
. - Make sure to follow instructions in the style guide section.
- Stage all changes you made:
git add -A
. - Commit all staged changes with a descriptive commit message:
git commit -m 'feat: add foo bar baz'
. - Push everything to your feature branch:
git push origin feature/branch-name
. - Create a new Pull Request.
This project is licensed under MIT license. You're free to use it, but a link to this page and mentioning the author's name is mandatory. Created by Shayan Zamani.