The purpose of this exercise is to assess candidates on equal parts data handling, visualisation, and knowledge of appropriate tooling.
Our client, Acme, has supplied cumulative carbon emissions data in CSV format.
We are to produce a Next.js application that will clearly display these emissions. The project has been initialised with shadcn-ui.
- Transform the data so that it is monthly, not cumulative.
- Display the data on a graph with the X-axis being months, and the Y-axis being carbon emitted that month in tCO2e (a standard unit).
- The data comprises 3 years, each year should be toggleable on the
graph. This state should be stored in the URL search params, e.g.
?q=2023,2024only displays data for years2023and2024.
- Data transformation should be done programatically, therefore no excel or similar tools are to be used.
- Feel free to add any additional components from shadcn-ui.
- Feel free to use any additional libraries as you see fit.
- The type and style of the graph should be such that it conveys meaning to the client.
- The client would like their name displayed in the top centre, with appropriate padding.
- Please do not create a full user experience, with authentication etc.
- The client will be viewing on a desktop. No need to make it responsive.
- Please prepare a short walkthrough of your code, demonstrating your thought process, tools used, any challenges, and any other relevant information. This should be no more than 5 minutes.
- An hour, maybe two, is a reasonable amount of time to spend on this. It is not our intention that candidates lose valuable free time completing this exercise. If in doubt, call a halt to the work and present what you have.
Please create a private fork of this repository:
- Create a bare clone of the repository. (This is temporary and will be removed).
git clone --bare git@github.com:EnergiseLtd/technical-exercise-2601.git
-
Create a new private repository on GitHub and name it
technical-exercise-2601. -
Add
mshaughas a collaborator to your new private repository. -
Mirror-push your bare clone to your new
technical-exercise-2601repository.
cd technical-exercise-2601.git
git push --mirror git@github.com:<your_username>/technical-exercise-2601.git
- Remove the temporary local repository you created in step 1.
cd ..
rm -rf technical-exercise-2601.git
- You can now clone your
technical-exercise-2601repository on your machine.
git clone git@github.com:<your_username>/technical-exercise-2601.git