/Gojob

Primary LanguageTypeScript

Gojob Frontend

Intro

Hello you kind sir/madam !

And welcome to this little project which is meant for you to show us your skills and abilities and this document will be your guide into this task.

The objective of this project is to create an Authentication page (which will be introduced later) and to present it to us in about an hour. It's quite short, but do not worry, we'll help you to bootstrap almost everything!

Please take your time to create/test/take care of the architecture/etc. ! We are here to assess your coding and problem solving skills so a fully functional project is a bonus, not an objective ;)

Objectives

Technical intro

We took care of creating a stable boilerplate, based on the excellent wmonk's create-react-app-ts with extra components, configuration, and love! ♥️

You'll have to use the following libraries (already included in package.json) in order to achieve your objectives:

  • [REQUIRED] First of all, the one and only react@16.4.
  • [REQUIRED] redux (vanilla or not), with react-redux.
  • [OPTIONAL] The usage of typescript is optional, but is heavily encouraged. You can use javascript files in our boilerplate without troubles ;).
  • [OPTIONAL] Some CSS-in-JS would be great but it's not required (we use emotion and are quite happy about it).

Visual support and styling of Authentication page

Our best friends, UI/UX of Gojob (and namely Jordane) are creating beautiful visual aids for us, complete with layout grid and css for the best dev experience possible.

You can find the visual you'll have to create for the Authentication page right here, on Zeplin.io with credentials you've received by email.

[REQUIRED] Please, focus on the mobile-first approach, but we still want to see some responsiveness ;)

(Please do not care about the "< Retour" button, it is irrelevant in the context of this project).

API

In order to be able to login into something, you'll surely need an API to respond to your queries 😛. We have an specially emitted API, with the /foc/login - this is the one (obviously) that you'll have to POST to in order to login.

You'll find the Swagger here - https://gojob-api-review-foc-api-li-4ylolh.gojob.tech/docs/.

  • [REQUIRED] You must be able to log in to /foc/login with credentials you've received by email.
  • [REQUIRED] You must display an error message if something goes wrong. The display and visuals of the said message is up to you.
  • [REQUIRED] You must store and retrieve at least the authentication token (res.auth.token) value in browser's persistent storage in order to create a persistent connection.

Existing components

It's quite a task we are asking you to accomplish in such a short notice, so in order to help you, we've included some hand made and production ready components we are currently using in our developments.

src/components/* is the path which contains some components that you'll find useful for your dev.

We also have some interactive demo for you which is powered by react-styleguidist that you can launch with the following cmd:

  > yarn styleguide

Submitting your work

In order to submit your work, you must simply fork this project or send us your code in any other way.

Final thoughts

Please, let us know if you miss something or you have some issues with launching of this boilerplate, visual Zeplin guide or entirely something else ;)

Happy coding!!

TL;DR

  > yarn start
  > yarn styleguide
  > # ???
  > git commit -am "Huge success!" && git push myfork master
  > # profit!!