Skip to content

tarikulwebx/user-invitation

Repository files navigation

User Invitation System

A Laravel + React application for managing user invitations with role-based access control. Users can send invitations via email, and recipients can register using invitation links.

Features

  • Send user invitations via email
  • Role-based user management
  • Email verification system
  • User authentication and registration
  • Dashboard with user and invitation management
  • Responsive UI with modern React components

Getting Started

Prerequisites

  • PHP 8.1+
  • Composer
  • Node.js 18+
  • MySQL or SQLite database

Installation

  1. Clone the repository

    git clone <repository-url>
    cd user-invitation
  2. Install PHP dependencies

    composer install
  3. Install Node.js dependencies

    npm install
  4. Environment setup

    cp .env.example .env
    php artisan key:generate
  5. Configure database Update your .env file with database credentials:

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=user_invitation
    DB_USERNAME=your_username
    DB_PASSWORD=your_password
  6. Configure email settings Update your .env file with email credentials (required for invitations):

    MAIL_MAILER=smtp
    MAIL_HOST=your-smtp-host
    MAIL_PORT=587
    MAIL_USERNAME=[email protected]
    MAIL_PASSWORD=your-email-password
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS=[email protected]
    MAIL_FROM_NAME="User Invitation System"
  7. Run database migrations

    php artisan migrate
  8. Seed the database (optional)

    php artisan db:seed

Running the Application

  1. Start the development server

    composer run dev
  2. Visit the application Open your browser and go to http://localhost:8000

Usage

  1. After seeding, log in with one of the seeded accounts:
  2. Access the dashboard (only admin can manage users and send invitations)
  3. Recipients will receive invitation emails with registration links
  4. Users can register using the invitation tokens

Built With

  • Backend: Laravel 12, PHP 8.1+
  • Frontend: React 18, TypeScript, Inertia.js
  • Styling: Tailwind CSS, shadcn/ui components
  • Database: MySQL/SQLite
  • Build Tool: Vite

About

User invitation and registration by link demo

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published