Skip to content

samuelfaj/VibeWork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

47 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

VibeWork

A production-ready, VIBE Code compliant monorepo with a modular monolith backend (Bun + ElysiaJS) and React frontend, featuring User (MySQL/Drizzle) and Notification (MongoDB/Typegoose) modules, with comprehensive testing, internationalization, and GCP-focused infrastructure.

Node.js Bun React TypeScript License

VibeWork

πŸ“š Documentation

Comprehensive documentation available in multiple languages:

English

PortuguΓͺs (Brasil)

πŸš€ Quick Start

Prerequisites

Setup (5 minutes)

# 1. Clone repository
git clone <repository-url>
cd VibeWork

# 2. Install dependencies
bun install

# 3. Configure environment
cp .env.example .env
# Edit .env with your settings

# 4. Start services
docker-compose up -d

# 5. Run migrations
cd backend && bun run db:migrate

# 6. Start development servers
cd .. && bun run dev

Open:

See Getting Started Guide for detailed setup.

πŸ—οΈ Project Structure

VibeWork/
β”œβ”€β”€ backend/                    # ElysiaJS API backend
β”œβ”€β”€ frontend/                   # React SPA
β”œβ”€β”€ shared/
β”‚   └── contract/              # Shared TypeBox schemas
β”œβ”€β”€ infra/                     # Terraform IaC (GCP)
β”œβ”€β”€ e2e/                       # Playwright tests
β”œβ”€β”€ docs/                      # Documentation
β”‚   β”œβ”€β”€ en-US/                 # English docs
β”‚   └── pt-BR/                 # Portuguese docs
└── docker-compose.yml         # Local dev services

πŸ› οΈ Tech Stack

Layer Technology Purpose
Runtime Bun 1.2.8 Fast JavaScript runtime
Backend ElysiaJS Type-safe REST API
Frontend React 18 + Vite Modern SPA
SQL DB MySQL 8.0 + Drizzle Relational data
Document DB MongoDB 6.0 + Typegoose Document storage
Cache Redis 7.0 Performance caching
Events Google Cloud Pub/Sub Async messaging
Email AWS SES Email delivery
Auth Better-Auth Authentication
RPC Eden Type-safe API calls
State Mgmt TanStack Query Server state
i18n i18next Localization (en, pt-BR)
Testing Vitest + Playwright Unit & E2E tests
Monorepo Turborepo + Bun Build orchestration

πŸ“– Key Features

  • Type-Safe End-to-End: TypeBox schemas used by frontend and backend
  • Modular Monolith: Backend architecture ready for microservice extraction
  • Event-Driven: Pub/Sub for async operations
  • Multi-Language: Built-in support for English and Portuguese
  • Comprehensive Testing: Unit, integration, and E2E tests
  • Production-Ready: Database backups, monitoring, zero-downtime deployment
  • Infrastructure as Code: Terraform for GCP infrastructure

πŸ”§ Common Commands

# Development
bun install                    # Install dependencies
docker-compose up -d           # Start services
bun run dev                    # Start all dev servers
bun run db:migrate             # Run database migrations

# Testing
bun run test                   # Unit tests
bun run test:integration       # Integration tests
bun run test:e2e               # E2E tests
bun run test:coverage          # Coverage report

# Code Quality
bun run lint                   # Check linting
bun run lint:fix               # Auto-fix linting
bun run typecheck              # TypeScript check
bun run format                 # Format code

# Building
bun run build                  # Build all packages
bun run clean                  # Clean artifacts

See CLAUDE.md for detailed command reference.

πŸ“š Documentation Map

Getting Started

Backend (English)

Frontend (English)

Shared Packages (English)

Infrastructure & Deployment (English)

Original Module Documentation (CLAUDE.md)

🎯 Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Frontend (React + Vite)   β”‚
β”‚  TanStack Query + Eden RPC β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚ HTTP/REST
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Backend (ElysiaJS + Bun)  β”‚
β”‚ β”œβ”€β”€ Users Module           β”‚
β”‚ └── Notifications Module   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β–Ό          β–Ό          β–Ό            β–Ό
  MySQL    MongoDB     Redis       Pub/Sub
  (Data)   (Docs)     (Cache)    (Events)

πŸ” Security

  • Passwords hashed with Argon2id (OWASP recommended)
  • HTTP-only session cookies
  • Input validation on all endpoints
  • HTTPS/TLS in production
  • Rate limiting at reverse proxy
  • Environment variables for secrets

πŸ“Š Testing Coverage

  • Unit Tests: 80%+ coverage
  • Integration Tests: Critical paths covered
  • E2E Tests: User workflows covered
  • Performance: Monitoring and alerts configured

🌍 Internationalization

  • English (en) - Default
  • Portuguese (Brazil) (pt-BR) - Fully translated
  • Easy to add more languages via i18n

πŸš€ Deployment

Development

docker-compose up -d
bun run dev

Staging

gcloud run deploy vibe-backend-staging \
  --image gcr.io/project/vibe-backend:staging

Production

gcloud run deploy vibe-backend \
  --image gcr.io/project/vibe-backend:latest \
  --region us-central1

See Deployment Guide for details.

πŸ“ Contributing

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/my-feature
  3. Commit changes: git commit -m "feat: description"
  4. Push to branch: git push origin feature/my-feature
  5. Create Pull Request

See Contributing Guide for conventions.

πŸ“„ License

MIT License - see LICENSE file for details

🀝 Support

English

PortuguΓͺs (Brasil)

πŸ”— Resources

🌐 Supported Languages

  • πŸ‡¬πŸ‡§ English - Full documentation available
  • πŸ‡§πŸ‡· PortuguΓͺs (Brasil) - Partial documentation (getting started, architecture)
  • More languages can be easily added via i18n

πŸ‘₯ Authors

Built with VibeWork framework and VIBE Code standards.


Status: Production-Ready βœ… Version: 1.0.0 Last Updated: December 2024 License: MIT

Quick Links

Get started in 5 minutes: Follow the Quick Start section above!

About

A bun typescript framework for vibe coding

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •