# ColaFlow Demo Accounts ## Overview When you start the ColaFlow development environment using Docker Compose, demo accounts and sample data are automatically created for testing and development purposes. ## Demo Tenant **Tenant Name:** Demo Company **Tenant Slug:** demo-company **Plan:** Professional **Status:** Active ### Tenant Limits - Max Users: 50 - Max Projects: 100 - Max Storage: 100 GB --- ## User Accounts ### Owner Account **Purpose:** Full administrative access to the tenant | Field | Value | |-------|-------| | Email | owner@demo.com | | Password | Demo@123456 | | Full Name | John Owner | | Role | Owner | | Status | Active | | Email Verified | Yes | **Permissions:** - Full tenant administration - Create/delete projects - Manage users and roles - View audit logs - Configure tenant settings --- ### Developer Account **Purpose:** Standard member account for testing member-level features | Field | Value | |-------|-------| | Email | developer@demo.com | | Password | Demo@123456 | | Full Name | Jane Developer | | Role | Member | | Status | Active | | Email Verified | Yes | **Permissions:** - Create and edit projects (where assigned) - Create/edit/delete stories and tasks - View projects and reports - Update profile settings --- ## Demo Project Data ### Project: Demo Project **Project Key:** DEMO **Status:** Active **Owner:** John Owner (owner@demo.com) #### Epic: User Authentication System **Status:** InProgress **Priority:** High **Description:** Implement a complete user authentication system with login, registration, password reset, and email verification features. --- ### Stories #### Story 1: Login Page Implementation **Status:** InProgress **Priority:** High **Assignee:** Jane Developer **Estimated Hours:** 16.0 **Description:** As a user, I want to log in with my email and password, so that I can access my account securely. **Tasks:** 1. Design login form UI - Done (3.5h / 4h estimated) 2. Implement login API endpoint - InProgress (5h / 8h estimated) 3. Add client-side form validation - Todo (2h estimated) 4. Write unit tests for auth service - Todo (4h estimated) --- #### Story 2: User Registration Feature **Status:** Todo **Priority:** High **Assignee:** Jane Developer **Estimated Hours:** 20.0 **Description:** As a new user, I want to register an account with email verification, so that I can start using the platform. **Tasks:** 1. Design registration form - Todo (6h estimated) 2. Implement email verification flow - Todo (8h estimated) 3. Add password strength indicator - Todo (3h estimated) --- ## Quick Start Guide ### 1. Start the Development Environment ```powershell # Windows docker-compose up -d # Linux/Mac docker-compose up -d ``` ### 2. Wait for Services to be Ready The first startup may take 1-2 minutes as it: - Pulls Docker images - Runs database migrations - Creates demo data Check status: ```powershell docker-compose ps docker-compose logs backend ``` ### 3. Access the Application **Frontend:** http://localhost:3000 **Backend API:** http://localhost:5000 **Swagger Docs:** http://localhost:5000/swagger ### 4. Login with Demo Accounts 1. Navigate to http://localhost:3000 2. Click "Login" 3. Use one of the demo accounts above 4. Explore the demo project and data --- ## Testing Scenarios ### Scenario 1: Owner Capabilities Login as `owner@demo.com`: 1. View all projects 2. Create a new project 3. Assign team members 4. View audit logs 5. Manage tenant settings ### Scenario 2: Member Capabilities Login as `developer@demo.com`: 1. View assigned projects 2. Create/edit stories and tasks 3. Update task status 4. Track time spent 5. Add comments (if implemented) ### Scenario 3: Multi-Tenant Isolation 1. Login as owner@demo.com 2. Create another tenant (if registration is enabled) 3. Verify you cannot see Demo Company data in the new tenant 4. Test tenant-level data isolation --- ## Resetting Demo Data ### Option 1: Full Reset (Recommended) This deletes all data and recreates demo accounts: ```powershell # Stop containers and delete volumes docker-compose down -v # Restart (will recreate demo data) docker-compose up -d ``` ### Option 2: Database Only Reset Keep images but reset database: ```powershell # Remove postgres volume docker volume rm product-master_postgres_data # Restart postgres docker-compose up -d postgres ``` ### Option 3: Manual Reset via SQL ```sql -- Connect to database docker exec -it colaflow-postgres psql -U colaflow -d colaflow -- Drop all data (CAUTION: This deletes everything) DROP SCHEMA identity CASCADE; DROP SCHEMA project_management CASCADE; -- Exit and restart to recreate \q docker-compose restart backend ``` --- ## Troubleshooting ### Issue: Demo accounts not created **Symptoms:** Cannot login with demo accounts **Solution:** 1. Check database logs: `docker-compose logs postgres` 2. Verify EF Core migrations ran: `docker-compose logs backend | grep -i migration` 3. Manually run seed script: ```powershell docker exec -it colaflow-postgres psql -U colaflow -d colaflow -f /docker-entrypoint-initdb.d/02-seed-data.sql ``` ### Issue: Seed data script fails **Symptoms:** Errors in postgres logs about missing tables **Solution:** Seed data script runs AFTER migrations. Ensure migrations completed: ```powershell docker-compose exec backend dotnet ef database update ``` ### Issue: Password not working **Symptoms:** "Invalid credentials" error **Solution:** 1. Verify you're using the correct password: `Demo@123456` (case-sensitive) 2. Check if password hashing is configured correctly in backend 3. Manually update password hash if needed: ```sql UPDATE identity.users SET password_hash = '$2a$11$NEW_HASH_HERE' WHERE email = 'owner@demo.com'; ``` ### Issue: "Tenant not found" error **Symptoms:** 404 or tenant-related errors **Solution:** 1. Check if tenant was created: `SELECT * FROM identity.tenants;` 2. Verify TenantId matches in users table 3. Re-run seed data script after fixing migrations --- ## Production Deployment Notes **WARNING:** The demo accounts are for development use only! Before deploying to production: 1. **Remove seed-data.sql volume mount** from docker-compose.yml 2. **Change all passwords** to strong, unique passwords 3. **Disable automatic account creation** 4. **Enable email verification** for all new accounts 5. **Configure proper SSL/TLS** for HTTPS 6. **Use environment variables** for sensitive data (not hardcoded) 7. **Enable rate limiting** on authentication endpoints 8. **Set up monitoring** and alerting 9. **Regular backups** of production database 10. **Security audit** before going live --- ## Support **Issues or Questions?** - Check project documentation: `docs/` - Review Docker logs: `docker-compose logs` - Open an issue on GitHub - Contact the development team --- **Last Updated:** 2025-11-04 **Version:** 1.0 **Maintainer:** ColaFlow Backend Team