TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기SaaS for coordinating group meetings through visual availability heatmaps
저장소 README에서 가져옴
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.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