A simple Pomodoro web application built with Vue.js, Typescript and Docker. In addition to the chosen tech stack, the project adheres to essential coding best practices to improve its maintainability, readability, and scalability. Throughout the project the following principles were taken into account: clean code, Don't Repeat Yourself (DRY), Keep It Simple, Stupid (KISS), You Aren't Gonna Need It (YAGNI), Separation Of Concerns (SOC), and good documentation.
Make sure you have the following dependencies installed on your system:
Docker >= 23.0.5
Docker Compose >= 2.17.3
- Clone this repository.
- Copy the
.env.example
file to.env.
cp .env.example .env
Start the development server using Docker Compose.
docker compose up
The application will be running in development mode by default. Open your browser to see it.
If the container is already running execute unit tests by running the following:
docker exec -it pomodoro-timer npm run test-unit
To prepare the project for production, run:
docker exec -it pomodoro-timer npm run build
- Change the
NODE_ENV
value in.env
. - Run the application to preview the production build locally. Open your browser to see it.
docker exec -it pomodoro-timer npm run preview