TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
Общая сетка свободного времени группы. Pro на 3 месяца бесплатно
Translation pending
ProductivityJava · TypeScriptGitHub @MaxVolnovOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
SaaS for coordinating group meetings through visual availability heatmaps
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
GroupMatch is a web application for coordinating group availability and scheduling meetings. Members share their free time slots, the app builds an overlap heatmap, and the group owner picks the best window.Read the full README ↗GroupMatch is a web application for coordinating group availability and scheduling meetings. Members share their free time slots, the app builds an overlap heatmap, and the group owner picks the best window.
.icslocalStorage.ics feed that calendar clients refresh on their own/promo — standalone landing with its own robots.txt and sitemap.xml| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript 5, Vite 5, Tailwind CSS 3 |
| State | Zustand (persist middleware) |
| Data fetching | TanStack Query v5 |
| Dates | Luxon |
| Backend | Java 25, Spring Boot 4 |
| Database | PostgreSQL 18 |
| Cache & sessions | Valkey (Redis-compatible) |
| Migrations | Flyway |
| Auth | JWT (access + refresh tokens) |
| Tests | JUnit 5, Testcontainers |
| Deployment | Vercel (frontend), Timeweb App Platform via Dockerfile (backend) |
| Service | URL |
|---|---|
| Frontend | https://groupmatch.app |
| API | https://api.groupmatch.app |
How production is wired up, which environment variables it needs and what to do
when it breaks — docs/prod-runbook.md.
cd frontend
npm install
npm run dev # http://localhost:5173
Set VITE_MOCK_API=true in .env.local to run entirely in-browser with mock data (no backend needed). Set VITE_API_URL to point at a local backend instance.
cd backend
# Start a local Postgres instance or rely on Testcontainers for tests
./gradlew bootRun # http://localhost:8080
Environment variables expected by the backend:
| Variable | Description |
|---|---|
SPRING_DATASOURCE_URL | JDBC URL, e.g. jdbc:postgresql://localhost:5432/groupmatch |
SPRING_DATASOURCE_USERNAME | Database user |
SPRING_DATASOURCE_PASSWORD | Database password |
JWT_SECRET | 256-bit secret for signing JWTs |
SPRING_REDIS_URL | Redis URL, e.g. redis://localhost:6379 |
CORS_ALLOWED_ORIGINS | Comma-separated allowed origins, e.g. http://localhost:5173 |
cd backend
./gradlew test # requires Docker for Testcontainers
groupmatch/
├── frontend/
│ ├── src/
│ │ ├── api/ # Axios wrappers + mock layer
│ │ ├── components/ # Shared UI components
│ │ ├── pages/ # Route-level pages
│ │ ├── store/ # Zustand stores (auth, theme)
│ │ └── types/ # Shared TypeScript types
│ └── ...
└── backend/
└── src/main/java/com/groupmatch/
├── controller/ # REST controllers
├── domain/ # JPA entities + enums
├── dto/ # Request / response records
├── repository/ # Spring Data JPA repos
└── service/ # Business logic
feature/* branches cut from develop; open a PR back into develophotfix/* branches cut from main; PR into both main and developdevelop → main is merged on release