# Supabase Easy Client

A simplified Supabase client with automatic configuration and connection management for Node.js applications.

## Features

- 🔌 Automatic configuration from environment variables
- 🚀 Simple, intuitive API
- 💪 TypeScript support
- ✅ Connection testing utilities
- 🔒 Secure credential management

## Installation

```bash
npm install supabase-easy-client
```

## Quick Start

1. Set up your environment variables:

```env
SUPABASE_URL=your-project-url
SUPABASE_KEY=your-anon-key
```

2. Use the client:

```javascript
const supabase = require('supabase-easy-client');

// Query your data
const { data, error } = await supabase
  .from('users')
  .select('*');
```

## Alternative Setup

You can also initialize the client explicitly:

```javascript
const SupabaseClient = require('supabase-easy-client');

const supabase = new SupabaseClient(
  'your-project-url',
  'your-anon-key'
);
```

## API Reference

### Querying Data

```javascript
// Select data
const { data, error } = await supabase
  .from('table')
  .select('*');

// Insert data
const { data, error } = await supabase
  .from('table')
  .insert({ column: 'value' });

// Update data
const { data, error } = await supabase
  .from('table')
  .update({ column: 'new_value' })
  .eq('id', 1);

// Delete data
const { data, error } = await supabase
  .from('table')
  .delete()
  .eq('id', 1);
```

### Authentication

```javascript
// Sign up
const { data, error } = await supabase.auth().signUp({
  email: 'user@example.com',
  password: 'password123'
});

// Sign in
const { data, error } = await supabase.auth().signInWithPassword({
  email: 'user@example.com',
  password: 'password123'
});

// Sign out
const { error } = await supabase.auth().signOut();
```

### Storage

```javascript
// Upload file
const { data, error } = await supabase
  .storage()
  .from('bucket')
  .upload('file.txt', fileBody);

// Download file
const { data, error } = await supabase
  .storage()
  .from('bucket')
  .download('file.txt');
```

## Testing Connection

```javascript
const supabase = require('supabase-easy-client');

try {
  await supabase.testConnection();
  console.log('Connected to Supabase!');
} catch (error) {
  console.error('Connection failed:', error.message);
}
```

## Environment Variables

Required environment variables:

- `SUPABASE_URL`: Your Supabase project URL
- `SUPABASE_KEY`: Your Supabase anon key or service role key

## TypeScript Support

Types are included and will work automatically with TypeScript projects.

## Troubleshooting

### Common Issues

1. "Supabase credentials not found"
   - Ensure environment variables are set correctly
   - Check for typos in variable names
   - Verify credentials are valid

2. "Connection failed"
   - Check internet connection
   - Verify Supabase project is active
   - Confirm API credentials are correct

## License

MIT