Giter Site home page Giter Site logo

frontend-coding-challenge's Introduction

๐Ÿš€ Crewmeister coding challenge - Frontend (Flutter)

Hello and thanks in participating in the crewmeister coding challenge. This coding exercise will help us get a better feeling about your coding process.

If you have any questions, we're happy to help you. Reach the devs at [email protected].

Context

At Crewmeister we like to work closely with our clients, listening to their demands and developing solutions for their problems. One of the most requested features is a way for company owners to manage sickness and vacations of employees.

We decided to implement this feature for our clients and we are calling it the Absence Manager.

Product Requirements

  • I want to see a list of absences including the names of the employees.
  • I want to see the first 10 absences, with the ability to paginate.
  • I want to see a total number of absences.
  • For each absence I want to see:
    • Member name
    • Type of absence
    • Period
    • Member note (when available)
    • Status (can be 'Requested', 'Confirmed' or 'Rejected')
    • Admitter note (when available)
  • I want to filter absences by type.
  • I want to filter absences by date.
  • I want to see a loading state until the list is available.
  • I want to see an error state if the list is unavailable.
  • I want to see an empty state if there are no results.
  • (Bonus) I can generate an iCal file and import it into outlook.

Your Mission

Create the Flutter application that satisfies all must-have requirements above, plus any nice-to-have requirements you wish to include.

We provided a couple of JSON files with the mock data necessary to implement the screens, you can use the files straight into the app using the mock methods provided in this repository or create a small separate API (bonus), it's your choice.

We encourage you to use your favorite tools and packages to build a solid Flutter application.

Optional: build the project and deploy (ie make it available as a static project) on Github Pages, otherwise please provide detailed instructions on how to start the project locally.

Tech Requirements

  • Flutter
  • Tests: flutter_test library
  • Code Linter
  • Using a state management approach (BLoC, Redux etc) is a plus.

Instructions

  • Clone this repo.
  • The challenge is on!
  • Build a performant, clean and well-structured solution.
  • Commit early and often. We want to be able to check your progress.
  • Include a README with instructions on how to run your project.
  • Please complete your working solution within 7 days of receiving this challenge.
  • Whenever you're done please deliver the project following the instructions below.

We'll review your submission as soon as possible. Key-points we're going to review:

  • Naming (files, functions, widgets, ...).
  • Tests.
  • Code structure, readability, performance and consistency.
  • function and widget lengths.
  • Commits + commit messages.
  • Clean code.
  • Good documentation and README instructions.

An essential part of the challenge is also coming up with your own solutions and making reasonable assumptions about the implementation of the acceptance criteria.

Project delivery instructions

To submit the project for evaluation please follow the steps below:

  • Create a public repo on your personal Github.
  • Add the new repo as a remote on your local repo.
  • Push your code to your new remote repo.
  • Send us the link! The e-mail is: [email protected]

That's it!

Happy coding!

frontend-coding-challenge's People

Contributors

adiciatlosi avatar mhunger avatar rcabarreto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  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.