# Projects (Teams)

Projects (also called Teams) help you organize resources, manage billing, and collaborate with team members.

## What are Projects?

A **Project** is a workspace that contains:

- All your resources (databases, cache, VPS)
- Team members and their permissions
- Separate billing and invoices
- Isolated networking
- Individual resource limits

## Why Use Projects?

### Separation
- **Development vs Production**: Keep environments separate
- **Client Work**: Separate projects for each client
- **Departments**: Organize by team or department
- **Cost Tracking**: Track spending per project

### Collaboration
- Invite team members
- Control access with roles
- Share resources safely
- Audit team actions

### Organization
- Logical resource grouping
- Clear billing attribution
- Independent limits
- Better management

## Creating a Project

### Your First Project

When you sign up, you're prompted to create your first project:

1. Enter a project name (e.g., "Production", "Development")
2. Click **Create**

### Additional Projects

Create more projects anytime:

1. Click the project dropdown in the navigation bar
2. Click **Create New Project**
3. Enter a project name
4. Click **Create Project**

### Project Naming

Choose descriptive names:
- **Good**: "Production", "Staging", "Client-Acme", "Marketing"
- **Avoid**: "Project 1", "Test", "Temp"

## Switching Between Projects

All project members can switch between projects:

1. Click the project dropdown in the navigation
2. Click on the project you want to switch to

**Current project** is marked with a checkmark.

All resources you see and create belong to the current project.

## Project Settings

Access project settings:

1. Click the project dropdown
2. Click **Project Settings**

### Rename Project

1. Go to **Project Settings**
2. Update the **Project Name** field
3. Click **Save**

### Delete Project

**Warning**: This deletes all resources in the project!

Before deleting:
1. Back up important data
2. Delete all resources manually first (recommended)
3. Export invoices
4. Remove team members

To delete:
1. Go to **Project Settings**
2. Scroll to **Delete Project** section
3. Click **Delete Project**
4. Type project name to confirm
5. Click **Delete Project**

## Team Management

### Invite Team Members

Add people to your project:

1. Go to **Project Settings**
2. Click the **Team Members** section
3. Click **Add Team Member**
4. Enter their email address
5. Select a role:
   - **Owner**: Full control including billing
   - **Admin**: Manage resources and team members
   - **Member**: Create and manage resources
   - **Viewer**: Read-only access
6. Click **Invite**

The user receives an email invitation. If they don't have an account yet, the invitation is accepted automatically when they register with that email address.

### Team Member Roles

#### Owner
- Full control over project
- Manage billing and payment methods
- Add/remove team members
- Delete project
- All admin and member permissions

**Note**: Projects must have at least one owner.

#### Admin
- Create, update, delete all resources
- Manage team members (except owners)
- View billing and usage
- Cannot modify payment methods
- Cannot delete project

#### Member
- Create, update, delete resources they created
- View team resources (read-only)
- Cannot manage team members
- Cannot access billing

#### Viewer
- Read-only access to all resources
- View metrics and logs
- Cannot create or modify anything
- Cannot access billing details

### Change Member Role

1. Go to **Project Settings** > **Team Members**
2. Click the role dropdown next to a member
3. Select a new role
4. Changes apply immediately

### Remove Team Member

1. Go to **Project Settings** > **Team Members**
2. Click **Remove** next to the member
3. Confirm removal

Removed members lose immediate access to the project.

### Leave a Project

If you're a member (not the owner):

1. Go to **Project Settings** > **Team Members**
2. Click **Leave** next to your name
3. Confirm

You'll lose access to the project immediately.

**Owners** cannot leave unless they:
1. Transfer ownership to another member first, or
2. Delete the project

### Transfer Ownership

Current owner can transfer ownership:

1. Go to **Project Settings** > **Team Members**
2. Click **Transfer Ownership** next to the new owner
3. Confirm transfer

The new owner gets full control. Previous owner becomes an admin.

## Project Billing

Each project has separate billing:

### Payment Methods
- Each project needs its own payment method
- Payment methods are not shared between projects
- Set a default payment method per project

### Invoices
- Generated separately per project
- Monthly billing cycle
- Download invoices per project

### Usage Tracking
- Track resource costs per project
- View current month's usage
- See cost breakdown by resource

See [Billing & Payments](https://docs.danubedata.ro/billing-overview) for more details.

## Project Resources

Resources belong to projects and cannot be moved between projects:

### Create Resources
1. Switch to the target project
2. Create resources normally
3. Resources belong to that project

### View Resources
- Only see resources for the current project
- Switch projects to see other resources

### Resource Limits
- Limits apply per project
- Each project has independent limits

## Project Use Cases

### Development & Production

Create separate projects:

**Production Project**
- Production databases and cache
- Strict team access
- Production payment method
- Higher resource limits

**Development Project**
- Development/staging resources
- More relaxed access
- Separate billing for cost tracking
- Lower resource limits

**Staging Project** (optional)
- Pre-production testing
- Identical to production configuration
- Different data

### Agency/Freelancer

Create a project per client:

**Client-Acme**
- All Acme resources
- Invite client team members if needed
- Bill separately per client
- Easy project handoff

**Client-TechCo**
- All TechCo resources
- Independent billing
- Separate team access

### Department/Team Organization

**Marketing Team**
- Marketing websites
- Analytics databases
- Marketing team members

**Engineering Team**
- Backend services
- Development databases
- Engineering team access

**Data Team**
- Analytics databases
- Data processing VPS
- Data team members

## Best Practices

### Naming
- Use clear, descriptive names
- Include environment (prod, staging, dev)
- Include client/project name
- Be consistent

### Organization
- One project per environment minimum
- Separate billing entities
- Separate by team/department
- Keep test projects separate

### Team Management
- Use least privilege (minimal role needed)
- Review team members regularly
- Remove members who leave
- Use viewer role for stakeholders

### Security
- Limit owner access to critical staff
- Use admin role for day-to-day management
- Scope API tokens to a single project (the default) so integrations only touch that project — see [Account Settings](https://docs.danubedata.ro/account-settings)
- Audit team actions regularly
- Remove inactive members

### Billing
- One payment method per project
- Clear cost allocation
- Regular usage reviews
- Set a monthly budget with alerts under **Billing** > **Budget**

## Troubleshooting

### Can't Create Resources

**Check**:
1. You have the correct role (Member or higher)
2. Project has a payment method
3. Haven't exceeded resource limits
4. Selected the correct project

### Can't See Resources

**Check**:
1. You're in the correct project
2. Resources exist in this project
3. You have appropriate permissions
4. Resources haven't been deleted

### Can't Invite Team Members

**Check**:
1. You're an Owner or Admin
2. Email address is correct
3. User hasn't already been invited
4. Project limit not exceeded

### Invitation Not Received

**Tell the invitee to**:
1. Check spam/junk folder
2. Check correct email address
3. Wait a few minutes
4. Contact you to resend invitation

### Can't Switch Projects

**Check**:
1. You're a member of multiple projects
2. Projects exist
3. You haven't been removed from project
4. Try logging out and back in

## Project Limits

Default limits per project (Starter tier; limits depend on your account tier — see [Account Limits](https://docs.danubedata.ro/account-limits)):

- **Team Members**: 10
- **VPS Instances**: 3
- **Database Instances**: 5
- **Cache Instances**: 5
- **Firewalls**: 10
- **SSH Keys**: 25

Request increases through **Account Limits** page.

## Next Steps

- [Account Settings](https://docs.danubedata.ro/account-settings)
- [Billing Overview](https://docs.danubedata.ro/billing-overview)
- [Account Limits](https://docs.danubedata.ro/account-limits)
- [Create Your First Database](https://docs.danubedata.ro/databases-overview)

Need help? Contact support through the dashboard.

