Code Monkey home page Code Monkey logo

recruitment-task's Introduction

Wallet: InventiStudio recruitment task

InventiStudio Front-end recruitment task

Hello Stranger!

Since you got here, you're probably taking a part in our recruitment process for Front-end developer position, right? We're super happy to hear that! Getting right to it — the main purpose of this task it to check out your HTML, CSS and JavaScript skills. We'd like to get to know your aproach of solving the following problems:

  • Implement functionalities for the User stories (first one is already done),
  • use Vuejs UI library with it's related ecosystem parts like Vuex and Vue-Router,
  • provide the best possible User Experience (being strict with the designs, responsiveness, hover/focus states of interactive elements — everything to your liking and ideas),
  • write a code that follows project's guidelines (e.g linters).

Feel free to open an issue if you got any questions or sugestions! Once it's ready, send us a repository link at [email protected]!

Happy coding and cheers,

Kamil & Piotrek, InventiStudio

Table of Contents

User stories

  • As a guest I am able to sign in.
  • As a user I am able to sign out.
  • As a user I am able to see all my transactions.
  • As a user I am able to see all my withdrawals (transactions where I took money out of my wallet).
  • As a user I am able to see all my additions (transactions where I added money to my wallet).
  • As a user I am able to see wallet summary.

Design

At /design directory you can find previews of User Interface, design guidelines and all the required assets.

SignInView

API

API Url: http://217.182.66.13:4000/
E-mail: [email protected]
Password: password

Endpoints:

Transaction

GET Transactions

Get all transactions.

GET /transactions

Headers

Name Type Description
x-auth-token uuid Session's token.

Success 200

Name Type Description
transaction Object[] List of transactions.
transaction.name String Transaction's name.
transaction.amount Number Amount of money withdrawn/added.

Session

GET Session

Validate token.

GET /sessions/:token

Parameters

Name Type Description
token uuid Session's token.

Success 200

Name Type Description
session Object -
session.expiresAt Date Date of session's expiry.

POST Session

Create new session.

POST /sessions/

Success 201

Name Type Description
session Object -
session.id uuid Session's token.

DELETE Session

Destroy session.

DELETE /sessions/:token

Success 204

Name Type Description
- - -

Setup

Requirements

Development

# Clone repo and install deps
yarn
# Run dev server with hot reload at localhost:8080
yarn dev

Linters

# Run sass-lint
yarn lint:sass

# Run ESlint
yarn lint:es

# Run all linters
yarn lint

Tests

# Run Unit tests
yarn test:unit
# Run e2e tests
yarn test:e2e

Production

# Build for production with minification
yarn build

# Build for production and view the bundle analyzer report
yarn build --report

# Run production server
yarn start

For a detailed explanation on how things work, check out the guide and docs for vue-loader.

Disclaimer

It's just a recruitment task, we won't use it in any commercial way!

recruitment-task's People

Contributors

kamil-borkowski avatar

Stargazers

Oliver Redman avatar Huub avatar  avatar  avatar

Watchers

James Cloos avatar Piotr Frącek avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.