45 lines
1.4 KiB
Markdown
45 lines
1.4 KiB
Markdown
# Mira
|
|
|
|
Mobile-first editorial calendar application for an advertising agency and its clients.
|
|
|
|
The application UI must be localized in Brazilian Portuguese (`pt-BR`), while developer documentation can stay in English.
|
|
|
|
## Stack
|
|
|
|
- Frontend: React 19, JavaScript, shadcn/ui direction, CSS variables for light/dark themes.
|
|
- Backend: Go 1.25, Gin.
|
|
- Database: PostgreSQL.
|
|
- Calendar provider: BrasilAPI for Brazilian national holidays.
|
|
- Deployment: Docker Compose/Portainer.
|
|
- Repository and CI/CD: Gitea.
|
|
|
|
## Local Start
|
|
|
|
1. Copy `.env.example` to `.env`.
|
|
2. Replace secrets and passwords.
|
|
3. Start the stack:
|
|
|
|
```sh
|
|
docker compose up --build
|
|
```
|
|
|
|
Default local URLs:
|
|
|
|
- Frontend: `http://localhost:5173`
|
|
- Backend health: `http://localhost:8080/healthz`
|
|
- Backend API: `http://localhost:8080/api/v1`
|
|
|
|
## Current Status
|
|
|
|
This is the initial scaffold. The structure is ready for MVP implementation, but authentication, persistence, invitations, and calendar item CRUD are still placeholders.
|
|
|
|
## Key Decisions
|
|
|
|
- Use PostgreSQL, not NoSQL.
|
|
- Use BrasilAPI as the initial holiday provider.
|
|
- Add regional holidays and agency/client-specific commemorative dates manually through the app.
|
|
- Keep a backend calendar provider abstraction for future provider changes.
|
|
- Keep uploaded files protected.
|
|
- Include audit logs from the beginning of the real MVP implementation.
|
|
- Use orange as the main color and support light/dark themes.
|