🚀 Winga Backend API

A Laravel-based RESTful API for image management and user authentication with email support via Resend.

✨ Features

👤 User Management

Registration, authentication, and account management

📧 Email Support

Resend integration for password resets and verification

🖼️ Image Management

Upload, manage, and retrieve images with metadata

🔒 Data Integrity

Soft deletes and comprehensive error handling

🛠️ Tech Stack

Component Technology
Framework Laravel 10.x
Language PHP 8.1+
Database MySQL 5.7+
Email Service Resend
Authentication Session-based (Sanctum ready)

📦 Installation

Prerequisites

Setup Steps

  1. Clone the repository:
    git clone https://github.com/andrea-mpulila/overlay_backend.git
    cd winga
  2. Install dependencies:
    composer install
  3. Copy environment configuration:
    cp .env.example .env
  4. Generate application key:
    php artisan key:generate
  5. Configure database in .env:
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=winga_db
    DB_USERNAME=root
    DB_PASSWORD=your_password
  6. Configure Resend email service:
    MAIL_MAILER=smtp
    MAIL_HOST=smtp.resend.com
    MAIL_PORT=465
    MAIL_USERNAME=resend
    MAIL_PASSWORD=your_resend_api_key
    MAIL_ENCRYPTION=ssl
    MAIL_FROM_ADDRESS=onboarding@resend.dev
    MAIL_FROM_NAME=Winga
  7. Run database migrations:
    php artisan migrate
  8. Start the development server:
    php artisan serve

📚 API Documentation

Complete API documentation is available in API_INTEGRATION_MANUAL.md. Our RESTful API provides endpoints for user authentication, image management, and file operations with comprehensive error handling and validation.

🔐 Security Considerations

  1. Always use HTTPS in production
  2. Keep Laravel and dependencies updated
  3. Use strong database passwords
  4. Protect your Resend API key
  5. Enable CORS only for trusted domains
  6. Implement rate limiting for production
  7. Use environment variables for sensitive data