# Aurganize V6.2 **Comprehensive Business Operating System for project-based work between vendors and consumers.** ## ๐ŸŽฏ Project Overview Aurganize V6.2 is a multi-tenant SaaS platform that enables seamless project management and collaboration between service vendors and their consumers. Built with modern technologies, it provides: - **Dynamic Workflow Engine:** AI-powered conversations for work item management - **Milestone Logic System:** Configurable conditions for milestone achievement - **Payment Management:** Structured proof workflow without payment processing - **Real-time Collaboration:** WebSocket-based live updates - **Enterprise Security:** Row-Level Security (RLS) for data isolation ## ๐Ÿ—๏ธ Architecture ----- TO DO --------- ## ๐Ÿ“‹ Prerequisites Before you begin, ensure you have the following installed: - **Go:** 1.21 or higher ([Download](https://golang.org/dl/)) - **Node.js:** 18 or higher ([Download](https://nodejs.org/)) - **PostgreSQL:** 14 or higher ([Download](https://www.postgresql.org/download/)) - **Docker:** Latest version ([Download](https://www.docker.com/get-started)) - **Docker Compose:** Included with Docker Desktop - **Git:** Latest version ([Download](https://git-scm.com/downloads)) **Verify installations:** ```bash go version # Should show: go version go1.21.x node --version # Should show: v18.x.x or higher npm --version # Should show: 9.x.x or higher docker --version # Should show: Docker version 24.x.x psql --version # Should show: psql (PostgreSQL) 14.x git --version # Should show: git version 2.x.x ``` ## ๐Ÿš€ Quick Start ### Option 1: Docker (Recommended) **Fastest way to get started - everything runs in containers:** ```bash # 1. Clone the repository git clone https://github.com/yourorg/aurganize-v62.git cd aurganize-v62 # 2. Start all services docker-compose up -d # 3. Run database migrations docker-compose exec backend make migrate-up # 4. Access the application # Frontend: http://localhost:5173 # Backend: http://localhost:8080 # API Docs: http://localhost:8080/api/v1/docs ``` **To stop services:** ```bash docker-compose down ``` **To see logs:** ```bash docker-compose logs -f backend # Backend logs docker-compose logs -f frontend # Frontend logs ``` ### Option 2: Local Development **Run services natively (for development):** #### Step 1: Setup Backend ```bash cd backend # Copy environment template cp .env.example .env # Edit .env with your database credentials # nano .env # Install dependencies go mod download # Run database migrations make migrate-up # Start development server (with hot reload) make dev ``` Backend should now be running at `http://localhost:8080` #### Step 2: Setup Frontend **Open a new terminal:** ```bash cd frontend # Install dependencies npm install # Start development server npm run dev ``` Frontend should now be running at `http://localhost:5173` #### Step 3: Verify Everything Works ```bash # Test backend health check curl http://localhost:8080/health # Expected response: # { # "status": "healthy", # "version": "6.2.0", # "timestamp": "2025-11-26T10:00:00Z" # } # Open frontend in browser # Visit: http://localhost:5173 ``` ## ๐Ÿ“ Project Structure ----- TO DO --------- ## ๐Ÿ› ๏ธ Development Workflow ### Creating a New Feature ```bash # 1. Ensure you're on develop branch git checkout develop git pull origin develop # 2. Create feature branch git checkout -b feature/your-feature-name # 3. Make your changes # ... code, code, code ... # 4. Run tests cd backend && make test cd frontend && npm test # 5. Commit with conventional commit message git add . git commit -m "feat: add user authentication system" # 6. Push to remote git push origin feature/your-feature-name # 7. Create Pull Request on GitHub ``` ### Running Tests **Backend tests:** ```bash cd backend make test # Run all tests make test-coverage # With coverage report go test ./internal/services # Test specific package ``` **Frontend tests:** ```bash cd frontend npm test # Run all tests npm run test:unit # Unit tests only npm run test:e2e # E2E tests ``` ### Database Migrations **Create new migration:** ```bash cd backend make migration-create NAME=add_users_table # Creates: # migrations/000002_add_users_table.up.sql # migrations/000002_add_users_table.down.sql ``` **Apply migrations:** ```bash make migrate-up # Apply all pending migrations make migrate-down # Rollback last migration make migrate-reset # Rollback all, then apply all ``` ## ๐Ÿ”ง Common Commands ### Backend (Makefile commands) ```bash make dev # Start development server make build # Build production binary make test # Run tests make lint # Run linter make fmt # Format code make clean # Clean build artifacts make migrate-up # Run migrations make migrate-down # Rollback migrations ``` ### Frontend (npm scripts) ```bash npm run dev # Start dev server npm run build # Build for production npm run preview # Preview production build npm test # Run tests npm run lint # Run ESLint npm run format # Run Prettier ``` ### Docker Commands ```bash docker-compose up # Start all services docker-compose up -d # Start in background docker-compose down # Stop all services docker-compose ps # List running services docker-compose logs -f # View logs (follow) docker-compose exec backend sh # Shell into backend container ``` ## ๐Ÿ“š Documentation - [System Architecture](docs/architecture/overview.md) - [API Reference](docs/api/reference.md) - [Database Schema](docs/architecture/database-schema.md) - [Development Guide](docs/setup/development.md) - [Deployment Guide](docs/deployment/production.md) - [Architecture Decisions](docs/adr/) ## ๐Ÿ›ก๏ธ Security - **Data Isolation:** PostgreSQL Row-Level Security (RLS) - **Authentication:** JWT-based with refresh tokens - **Password Hashing:** bcrypt with cost factor 12 - **HTTPS Only:** TLS 1.3 in production - **Rate Limiting:** Per-IP and per-user limits - **Input Validation:** Server-side validation on all inputs - **SQL Injection Protection:** Parameterized queries only ## ๐Ÿงช Testing ### Test Coverage Goals - Backend: > 80% code coverage - Frontend: > 70% code coverage - Critical paths: 100% coverage ### Test Types 1. **Unit Tests:** Test individual functions 2. **Integration Tests:** Test component interactions 3. **E2E Tests:** Test complete user flows 4. **Performance Tests:** Load testing with k6 ## ๐Ÿšข Deployment ### Development ```bash # Local development with hot reload make dev (backend) npm run dev (frontend) ``` ### Staging ```bash # Deploy to staging environment ./scripts/deploy-staging.sh ``` ### Production ```bash # Deploy to production (requires approvals) ./scripts/deploy-production.sh ``` ## ๐Ÿ› Troubleshooting ### Backend won't start **Error: "database connection failed"** ```bash # Check PostgreSQL is running docker ps | grep postgres # Check connection string in .env cat backend/.env | grep DB_ # Test connection manually psql -h localhost -U aurganize -d aurganize_v62 ``` ### Frontend build fails **Error: "node_modules not found"** ```bash # Delete and reinstall dependencies rm -rf frontend/node_modules cd frontend && npm install ``` ### Port already in use **Error: "address already in use"** ```bash # Find process using port 8080 lsof -i :8080 # Kill the process kill -9 ``` ## ๐Ÿ‘ฅ Team - **Developer 1:** Backend (Go/PostgreSQL/API) - **Developer 2:** Frontend (Svelte/TypeScript/UI) ## ๐Ÿ“ License Proprietary - All Rights Reserved ## ๐Ÿค Contributing 1. Fork the repository 2. Create feature branch (`feature/amazing-feature`) 3. Commit changes (`feat: add amazing feature`) 4. Push to branch 5. Create Pull Request See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines. **Made with โค๏ธ by the Aurganize Team** EOF