• Stars
    star
    125
  • Rank 285,304 (Top 6 %)
  • Language
  • License
    MIT License
  • Created almost 3 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Are your looking for a remote developer job? Solve this frontend developer challenge and show us what you can do and what you are an expert at!

Aerolab's Frontend Developer coding challenge

Aerolab Frontend Developer coding challenge

The challenge is to build a catalog view for a loyalty program app. We’ll provide you with the base UI and API, you can use it as provided or you can make any improvements you deem fit. It’s up to you, your imagination and your skills to come up with new solutions and/or interactions between the components.

Remember that the product’s main goal is to help users redeem items through a points-based system. We expect your end-product to be both visually attractive and functionally effective.

Acceptance Criteria

Users have an undetermined amount of points accumulated, and each product is worth a set amount of points. We’ll test the product you submit, along with the code it is written in, and any additional interactions or layers you’d like to add.

We want to see how your code’s UI interacts with different states and user interactions, so your product should comply with the following guidelines

(Keep in mind that the jury will also take into account the quality of the submitted code. Simply meeting this criteria doesn’t mean your solution will be the best)

Feel free to reach one of the following levels of quality based on your skills. Show us what you can do and what you are an expert at! 💪

Level 1 - It works! ⚙️

  • Make a desktop version
  • Each product should have a visible price in points.
  • Link to the project GitHub repository (footer)
  • The user should be able to sort products by price, from highest to lowest, and vice-versa.
  • The user should be able to see how many points they have in their account.
  • There should be a clear way for the user to distinguish those products that they can redeem from those they cannot.
  • A “Redeem” button should be available for those products that the user has enough points to claim.
  • A “Redeem now” option should appear when the user interacts with a product that they have enough points to claim.
  • When the user doesn’t have enough points for a product, they should be able to see how many more points they need to claim it.
  • The user should not be able to redeem a product for which they don’t have enough points.
  • When the user clicks on the Redeem now button, the system should automatically deduct the item’s price from the users’ points.
  • The user should be able add points to their account

Level 2 - Eye Candy 💅

  • All of above
  • Make a mobile responsive version
  • The "view all products" button (on Hero/Header section) should scroll view to listed products
  • Make the "Browse, Choose, Enjoy" section
  • Put all your effort into making the site look beautiful
  • Pay attention to details and the design system we provide you
  • The user should be able to filter products by category
  • The user should be able to use the pagination to view more listed products

Level 3 - Mind-blowing 🤯

  • All of above
  • Make a tablet responsive version
  • Make some visual tweaks (animations, micro interactions, etc)
  • Put all your effort on website performance (images, web vitals, network optimization, etc)
  • Be careful about SEO (metadata, markup semantics, SSR, etc.)
  • Be careful about Accesibility (keyboard navigation, narrator, markup semantics, etc.)
  • Be careful about environment variables security
  • If you want you can make some unit or integration tests

Tech Stack

We recommend that you use the following technologies, which are aligned with the daily work we do at Aerolab 🪁 and which in this case we believe are also adequate to solve the challenge.

We recommend

Optionally

  • Typescript (data types)
  • Jest + React Testing Library (testing)

😎 You can use any additional library you need to carry out the challenge.

👍 BTW, we can be flexible if you feel comfortable with any other technology or if you want to combine them in different ways. You can use other stack like CRA, VueJS, NuxtJS, Remix, Svelte, Angular, React Native, Flutter, Heroku, Digital Ocean, Stitches CSS, Styled JSX, SASS, CSS Modules, etc...

Design resources

We've crafted a beautiful design for this coding challenge. We provide your a Figma access to all of resources like, views, design systems, responsive adaptations, typography, styles, and more.

API Documentation

Delivery

This needs to ship. You should upload the project to a public link (we recommend Vercel). You should also upload it to Github so we can review the code.

In case you need a hand in getting your site to go live, we recommend you read the Vercel Docs to help you out.

🚀 Once your code is ready send the public link and repository link via email to whoever sent it to you from Aerolab, or you can apply at https://aerolab.co/jobs if you got here some other way.

If you feel uncomfortable building fancy user interfaces then try our alternative challenge (Disclaimer: we'll prioritize the original challenge)


Aerolab

Aerolab is a Digital Product Studio based in Buenos Aires, Argentina.

We design and develop top-tier websites and apps for startups and leading brands.

Our goal is to find talented, creative developers.

For us, this challenge is a fun way of reaching devs and testing out their skills.

We are remote-first!

Aerolab careers opportunities

👩‍💻 Are your looking for a remote developer job?

We are open to work! We have remote positions for Frontend and Fullstack developers but also there are positions for Product Designers, Project Managers and more! Feel free to apply at https://aerolab.co/jobs

Follow us!

Follow Aerolab on social networks

About Us

🪁

More Repositories

1

midnight.js

Switch your nav's design on the fly
JavaScript
3,669
star
2

blockrain.js

HTML5 Tetris Game for jQuery
JavaScript
954
star
3

readremaining.js

How long you'll need to read an article
JavaScript
553
star
4

nextjs-pwa

Build a PWA with Next.JS
JavaScript
142
star
5

setup

Make your Mac Aerowesome
Python
134
star
6

rooms

A simple Display for Meeting Rooms
JavaScript
102
star
7

pixelcounterapp

How many pixels have you crafted?
HTML
68
star
8

booom

Dribbble Enhancement Suite
JavaScript
51
star
9

lullaby

A treatment for tinnitus
JavaScript
44
star
10

youtube-tv

Build a desktop app with Node Webkit
JavaScript
42
star
11

subtle-animations

How to add simple UI details
CSS
35
star
12

coding-challenges

Show your abilities as a developer
HTML
35
star
13

welcome

A macOS app to onboard new Aerolabers
JavaScript
34
star
14

platzi-pwa

Material de PWA en Platzi
JavaScript
28
star
15

acanohayluz

Reporte de cortes de luz en Argentina
PHP
20
star
16

workshop-nextjs

Aprendiendo Next.JS
JavaScript
16
star
17

pixelcounter

Count the pixels in all the images in a folder
JavaScript
15
star
18

svg

The SVG Workflow
HTML
15
star
19

aerolab.github.io

Open Source Projects by Aerolab
JavaScript
13
star
20

activate-mac

Activate Windows. For Mac.
JavaScript
12
star
21

criterios

Criterios de Calidad de Aerolab
HTML
11
star
22

fullstack-developer-coding-challenge

HTML
11
star
23

aerolab-cli

A tool for automating dev tasks
JavaScript
10
star
24

perfect

The only perfect piece of software
9
star
25

platzi-nextjs

Material de Next.JS en Platzi
JavaScript
9
star
26

iojs-colorpicker

A color picker for our IO.JS logo
JavaScript
8
star
27

nokia-psd

The long-awaited PSD for Nokia 1100
SCSS
7
star
28

type

Workshop de tipografía
CSS
7
star
29

jsconf2014-workshop

Node-Webkit Workshop for JSConf
JavaScript
7
star
30

meeting-quantifier

How much did you spend on that meeting?
CSS
6
star
31

goldenimage.js

Fix camera rotation of an image
JavaScript
6
star
32

iojs-logo

IO.JS Logo Proposal
6
star
33

nextjs-routing

Routing y Layout avanzado con Next.JS
JavaScript
5
star
34

rosarigasino

Egasel mejogasor lenguagasaje degasel mugasundo
JavaScript
5
star
35

zeplin-renamer

Rename Zeplin images for React Native
Python
5
star
36

nextjs-intro

Introducción a Next.JS y Styled JSX
JavaScript
5
star
37

origami

Workshop de Origami
3
star
38

startupmap

Mapping Startups in Latin America
CSS
3
star
39

tutorial-navigator

A tutorial for Auth0
JavaScript
1
star
40

meeetup

Buenos Aires Dribbble Meetup 2014
1
star
41

next-sanity-starter

Next.js starter with Santy
TypeScript
1
star