Loading...

Premium
  • HTML
  • CSS
  • JS
4Advanced

Devjobs web app

Build a jobs board that pulls data from a local JSON file. This is a great opportunity to practice JS and get to grips with a framework/library of your choice!

Assets Provided

  • Sketch and Figma design files
  • Mobile, tablet & desktop layouts
  • Professional design system for colors, fonts, etc
  • Optimized image assets
  • README file to help you get started
  • HTML file with pre-written content

Challenge

Brief

Your challenge is to build out this jobs board using a local data.json to retrieve the data. Your goal is to try to get your project looking as close to the design as possible.

You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go.

We provide the data in a local data.json file, so use that to populate the content on the first load. If you want to take it up a notch, feel free to build this as a full-stack application!

Your users should be able to:

  • View the optimal layout for each page depending on their device's screen size
  • See hover states for all interactive elements throughout the site
  • Be able to filter jobs on the index page by title, location, and whether a job is for a full-time position
  • Be able to click a job from the index page so that they can read more information and apply for the job
  • Bonus: Have the correct color scheme chosen for them based on their computer preferences. Hint: Research prefers-color-scheme in CSS.

Download the project and go through the README.md file. This will provide further details about the project and help you get set up.

Want some support on the challenge? Join our Slack community and ask questions in the help channel.

Note: This used to be the GitHub Jobs API challenge. Unfortunately, that API was deprecated, so we've created a local data.json file with a similar data structure. If you've already taken the challenge using the API, your solution may be broken. In that case, you can download the files again and refactor your code to work with the new local JSON data.

Getting started

  1. Download the starter code

  2. Set up the project with version control (e.g. Git)

  3. Read the README.md file and have a look around the project

  4. Download the design file, we provide both Sketch and Figma versions of the design

  5. Get colors, fonts, etc from the design system in the Sketch file

  6. Set up your project/file architecture however you want

  7. Start coding!

Ideas to test yourself

  • Write your styles using a pre-processor, such as Sass, Less, Stylus or go with a CSS-in-JS solution, like Styled Components

  • Train your eye for detail by getting your solution as close to the design as you can

challenge FAQs

Can I use libraries/frameworks on these projects?

Yes! Our challenges provide professional designs but there are no rules on what tools to use. So feel free to use anything you like to build your projects.

How can I get help if I'm stuck on a challenge?

The best (and quickest) way to get help on a challenge is in our Slack community. There are thousands of other developers in there, so it's a great place to ask questions. We even have a dedicated "help" channel! If you haven't joined yet, you can get an invite to our Slack community here.

Can I use these projects in my portfolio?

Definitely! Please do feel free to use whatever you build in your portfolio. Helping developers add professional-looking projects to their portfolio was one of the reasons we created this platform!

Is there an official solution I can take a look at?

We don't provide "official" solutions for the challenges. This is because there is no single perfect way to complete a challenge. Instead, you're encouraged to review other people's code in the community. You can learn so much by seeing how other people have approached the same challenges and giving them feedback.

Do I get a code review when I post my solution?

Frontend Mentor is a collaborative learning community where everyone can give feedback to each other. If you'd like to receive feedback from the community, please be sure to post a question when you submit your solution. The more specific you can be, the better. Being clear with your questions means you're much more likely to receive valuable feedback from others.

How do I submit my solution?

We'd recommend reading our complete guide to submitting solutions. If you get stuck and need help, please feel free to ask questions in our Slack community, and we'll help you submit your project.

Can I use these challenges within my own free or commercial content/tutorials/projects?

Please visit our license page to learn more about how our challenges can be used within your own content. If you're unsure about anything, please feel free to contact us at [email protected] and we'll be more than happy to answer your questions.

Slack logo

Join our Slack community

Join over 80,000 people taking the challenges, talking about their code, helping each other, and chatting about all things front-end!