This application provides both development and production Docker environments. The easiest way to run the application is using the provided shell script.
- Docker and Docker Compose installed on your system
- Make sure Docker daemon is running
-
Navigate to the project directory:
cd webdev_task_01 -
Make the script executable (if needed):
chmod +x docker.sh
-
Run the application:
For Development (with hot reload):
./docker.sh dev
- Frontend: http://localhost:5173
- API Server: http://localhost:3001
For Production:
./docker.sh prod
- Frontend: http://localhost:3000
- API Server: http://localhost:3001
The docker.sh script provides the following commands:
./docker.sh dev- Start development environment with hot reload./docker.sh prod- Start production environment./docker.sh build- Build production Docker image./docker.sh stop- Stop all running containers./docker.sh clean- Stop containers and remove images
- If ports are already in use, stop the containers with
./docker.sh stop - To clean up all Docker resources, use
./docker.sh clean - Make sure Docker daemon is running before executing commands
- Go to project directory
- type
npm i - type
npm run dev
- I haven't used shadcn cause it was not described in requirements (just Tailwind).
- The project architecture wasn't described so i have selected custom architecture (Screaming architecture)
- I couldn't find api pagination for table so i have created FE side pagination
- I have relocated roads table and graphs into separate page. I cant imagine go wo put it into sidebar.