LucianoLaratelli / help-desk-exercise

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Software Engineering Exercise

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.

Development

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.

Areas of improvement

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

About


Languages

Language:TypeScript 75.4%Language:CSS 18.1%Language:Dockerfile 5.9%Language:JavaScript 0.4%Language:Makefile 0.2%