Skip to main content

Quick Setup

This guide will help you get DentControl running locally in just a few minutes.
Prerequisites: Make sure you have PHP 8.2+, Composer, and Node.js installed before starting.
1

Clone the Repository

Clone the DentControl repository to your local machine:
git clone https://github.com/Ary-dev04/DentControl.git
cd DentControl
2

Run Automated Setup

DentControl includes a convenient setup script that handles installation:
composer setup
This single command will:
  • Install PHP dependencies via Composer
  • Copy .env.example to .env
  • Generate application key
  • Run database migrations
  • Install Node.js dependencies
  • Build frontend assets
The setup script uses SQLite by default, so no additional database configuration is needed!
3

Start the Development Server

Launch all development services with one command:
composer dev
This starts:
  • Laravel server (http://localhost:8000)
  • Queue worker for background jobs
  • Pail logs for real-time log monitoring
  • Vite dev server for hot module replacement
All services run concurrently with color-coded output for easy monitoring.
4

Access the Application

Open your browser and navigate to:
http://localhost:8000
You’ll see the login screen. The default super admin credentials need to be created through database seeding or manual registration.
5

Create Your First Super Admin

Since this is a fresh installation, you’ll need to create the first super admin user. You can do this by:Option 1: Using Tinker
php artisan tinker
Then create a super admin user:
App\Models\Usuario::create([
    'nombre' => 'Admin',
    'apellido_paterno' => 'System',
    'email' => '[email protected]',
    'password' => bcrypt('password'),
    'rol' => 'super_admin',
    'estatus' => 1
]);
Option 2: Create a Database SeederFor development, you can create a seeder to automate this step.
Remember to change the default password in production!

Environment Configuration

The default .env file comes pre-configured for local development:
.env
APP_NAME=DentControl
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8000

# SQLite (default - no setup required)
DB_CONNECTION=sqlite

# Queue system uses database
QUEUE_CONNECTION=database

# Session stored in database for multi-tenant support
SESSION_DRIVER=database

# Mail logs to file in development
MAIL_MAILER=log
For production deployments, you’ll want to configure a proper database (MySQL/PostgreSQL) and mail service. See the Installation Guide for detailed configuration options.

Verify Installation

Confirm everything is working:
# Verify migrations ran successfully
php artisan migrate:status

User Roles Overview

Once logged in, DentControl provides different dashboards based on user roles:

Super Admin

  • Access at /admin/dashboard
  • Manage all clinics via /clinicas
  • Manage all users via /usuarios
  • Full system control

Dentista (Dentist)

  • Access at /dentista/dashboard
  • Manage patients via /pacientes
  • View and manage clinic operations
  • Create and track treatments

Asistente (Assistant)

  • Access at /asistente/dashboard
  • Manage appointments via /agenda
  • Handle patient reception
  • Schedule management

Development Workflow

When developing with DentControl:
  1. Run composer dev - Starts all services with live reload
  2. Make changes - Edit PHP, Blade, or CSS/JS files
  3. See updates - Changes reflect automatically:
    • Frontend assets: Hot reload via Vite
    • Backend code: Refresh browser after changes
  4. Check logs - Monitor the Pail output for errors and debugging
The composer dev command uses concurrently to run multiple processes. Press Ctrl+C to stop all services at once.

Common Tasks

Adding a New Clinic

  1. Log in as super admin
  2. Navigate to /clinicas
  3. Click “Create Clinic”
  4. Fill in clinic details (name, RFC, address, contact)
  5. Upload clinic logo (optional)
  6. Save and activate

Creating Clinic Users

  1. Navigate to /usuarios
  2. Click “Create User”
  3. Select clinic and assign role (Dentista/Asistente)
  4. Provide user details and credentials
  5. Activate user account

Managing Patients

  1. Log in as Dentista
  2. Navigate to /pacientes
  3. Add patient with complete information
  4. Patient is automatically associated with your clinic

Troubleshooting

Make sure port 8000 is not in use:
lsof -ti:8000 | xargs kill -9
Then restart with composer dev
The database file should be at database/database.sqlite. If missing:
touch database/database.sqlite
php artisan migrate
Rebuild frontend assets:
npm run build
Ensure storage and cache directories are writable:
chmod -R 775 storage bootstrap/cache

Next Steps

Now that you have DentControl running:
  • Read the Installation Guide for production deployment
  • Explore the API documentation for custom integrations
  • Configure email settings for notifications
  • Set up automated backups

Need Help?

For detailed configuration and troubleshooting, see the full Installation Guide.

Build docs developers (and LLMs) love