O webapp The Cherry 25 trata-se de um site estático que obtêm os dados de um dicionário e exibe as suas informações em páginas.
- Vite: Build tool rápido e moderno para aplicações web, com suporte a hot-reload e otimização.
- eslint/eslint: Ferramenta de linting para JavaScript e TypeScript, detecta e corrige problemas no código.
- Prettier: Formatador de código para garantir consistência no estilo, suportando múltiplas linguagens.
- TypeScript: Superset do JavaScript que adiciona tipagem estática e recursos de programação orientada a objetos.
- Lit: Biblioteca leve para criar componentes web reativos com foco em desempenho e simplicidade.
- krasimir/navigo: Biblioteca de roteamento para JavaScript, ideal para aplicações SPA, com manipulação de URLs e histórico.
git clone https://github.com/ehiratuka-dev/the-cherry-25
cd the-cherry-25- Instalar as dependências:
npm installInicia o servidor de desenvolvimento com hot reload.
npm run devApós a execução, o webapp estará disponível no endereço: http://localhost:3000/
Cria a versão de produção otimizada.
npm run buildExecuta o ESLint para verificar erros e problemas de estilo.
npm run lintFormata o código com o Prettier.
npm run formatnpm run build docker build -t the-cherry-25-image ./ docker run -d -p 80:80 -v the-cherry-25-data:/share/data the-cherry-25
docker run --rm -it the-cherry-25-webapp /bin/bash docker-compose up
node:
image: mcr.microsoft.com/devcontainers/typescript-node:latest
container_name: node-build
volumes:
- ./:/usr/src/app
- ./dist:/usr/src/app/dist
working_dir: /usr/src/app
command: npm install | npm install -g tsc | npm run build
nginx:
image: nginx:latest
container_name: nginx-service
ports:
- '80:80'
hostname: the-cherry-25.internal
volumes:
- ./server.conf:/etc/nginx/conf.d/default.conf
- ./dist:/share/webapp
- the-cherry-25-data:/share/data
depends_on:
- node
restart: unless-stopped