|
| 1 | +# e-conomic Senior Frontend Engineer hiring task</h1> |
| 2 | + |
| 3 | +<a href="https://www.buymeacoffee.com/VishwaGauravIn" target="_blank"> |
| 4 | + <img alt="" src="https://skillicons.dev/icons?i=ts,tailwind,react" style="vertical-align:center" /> |
| 5 | +</a> |
| 6 | + |
| 7 | +## 👋 Introduction |
| 8 | + |
| 9 | +As a part of the e-conomic recruitment process we ask our candidates to complete a practical development challenge. The challenge consists of two parts: |
| 10 | + |
| 11 | +You solve the provided task, and send the results to us. |
| 12 | +We host a session where you present your solution to us, and we all have a nice talk about it. |
| 13 | + |
| 14 | +The task is to implement a simple time logger web application that solves the following three user stories: |
| 15 | + |
| 16 | +- As a freelancer I want to be able to register how I spend time on my projects, so that I can provide my customers with an overview of my work. |
| 17 | +- As a freelancer I want to be able to get an overview of my time registrations per project, so that I can create correct invoices for my customers. |
| 18 | +- As a freelancer I want to be able to sort my projects by their deadline, so that I can prioritise my work. |
| 19 | + |
| 20 | +Individual time registrations should be 30 minutes or longer, and once a project is complete it can no longer receive new registrations. You do not need to create an actual invoice. |
| 21 | + |
| 22 | +We ask that you clone this repository to complete the task, rather than fork it. You can either push it to a repository on your own account, or simply send us the project in a zip if you prefer. We recommend removing installed dependencies such as the node_modules directory prior to zipping, to keep the file size down. |
| 23 | + |
| 24 | +When presenting the solution please bring your own laptop if you have one. If you do not, please inform us before the meeting so that we can prepare. |
| 25 | + |
| 26 | +## 💡 Considerations |
| 27 | + |
| 28 | +What we're looking for is to see if you have the ability to transform a set of user requirements into a working solution, preferably creating some nice and clean code along the way. We will appreciate if your solution: |
| 29 | + |
| 30 | +- Works, obviously. |
| 31 | +- Contains readable, bug free code |
| 32 | +- Is appropriately covered by tests |
| 33 | +- Follows sensible structured design patterns and thought proceses |
| 34 | +- Validates user input and contains test coverage for these use cases |
| 35 | +- The frontend is typed using typescript |
| 36 | + |
| 37 | +We want to see that you have thought about the design of your application, and considered how it might scale as it's complexity increases: |
| 38 | + |
| 39 | +- Consider how your application might scale as it grows in use, and in number of developers working on it |
| 40 | +- Summarise any significant architectural decisions you take, to discuss in the presentation |
| 41 | + |
| 42 | +## ℹ️ Questions & Info |
| 43 | + |
| 44 | +If you have any **questions** or **concerns**, please feel free to ask. |
| 45 | + |
| 46 | +We realize there are a lot of moving parts to an application like this. To help, we have provided a basic setup to get you started with a Vite + React client, which includes some basic components and simple styling. |
| 47 | + |
| 48 | +You are welcome to use this scaffold or start your own project from scratch. You are also free to change or remove any part of this code — it is meant purely as a starting point to help you get going. Styling and graphic design are not the main focus; we are assessing your ability to design and architect software — so focus on that. |
| 49 | +Don’t worry about authentication — you can assume your application is already authenticated. |
| 50 | + |
| 51 | +## 🖥 How to Run The Scaffold Project Locally |
| 52 | + |
| 53 | +Prerequisites: |
| 54 | + |
| 55 | +- Node v22.15 installed. |
| 56 | + |
| 57 | +Steps to run locally: |
| 58 | + |
| 59 | +- Clone the project. |
| 60 | +- run `npm install` |
| 61 | +- run `npm run dev` |
| 62 | + |
| 63 | +Happy coding! |
0 commit comments