This repository contains code for a software engineering exercise performed as part of the interview process for a company.
The repository contains directories for the frontend
and the backend
. The frontend is a Next.js app, while the backend is written with express.
git clone https://github.com/LucianoLaratelli/help-desk-exercise.git
cd help-desk-exercise
cd frontend
npm i
cd ../backend
npm i
Manually edit BACKEND_URL
in ./frontend/src/app/config.ts
to http://localhost:3001
, then:
cd frontend
npm run dev
In a separate terminal:
cd backend
make run
At this point, the frontend will be available at http://localhost:3000
.
BACKEND_URL
should use the local server by default. We should override it via an environment variable in the Dockerfile.- No authentication is necessary to interact with the backend server.
- Deploys are manual. Using Github Actions to handle separate deploys for the frontend and backend is a natural next step.
- No tests are included to enforce the contract between the frontend and backend.
- The
types
directory is duplicated between./frontend
and./backend
. I tried using symlinks but that didn't work when building the frontend. In the interest of time, I copied it over. This would be better as its own NPM package. - A force refresh is necessary to get the admin panel to pick up changes in status. Reactivity could be improved here.
- Introduction of an auto-formatter and a linter would be welcome additions to this project.