Quickstart Guide
This guide will help you get up and running with OdontologyApp quickly. We’ll walk you through accessing the system, logging in with demo credentials, and performing basic operations.This quickstart assumes you already have OdontologyApp installed and running. If not, see the Installation Guide first.
Prerequisites
Before you begin, ensure:- OdontologyApp is installed and the development server is running on
http://localhost:5173 - MySQL database is running with the schema and seed data imported
- You have the default user credentials (provided below)
Step 1: Access the Login Page
Navigate to the application
Open your web browser and navigate to:You’ll see the OdontologyApp login screen with a modern teal/dark gradient background.
Understand the login interface
The login screen features three role selector buttons:
- 🛡️ Administrador (Administrator)
- 👨⚕️ Médico (Doctor)
- 💼 Secretaria (Secretary)
The role selector automatically fills in the demo credentials for quick testing. You can click any role button to switch between demo users.
Step 2: Login with Demo Credentials
OdontologyApp comes with three pre-configured demo users, one for each role:Select a role
Click on the Administrador button. The form will automatically populate with:
- Username:
admin - Password:
admin123
Login
Click the “Iniciar sesión →” button. You’ll see a loading state (“Iniciando sesión…”) while authentication occurs.
Step 3: Explore the Dashboard
After logging in as Administrator, you’ll see the executive dashboard with:Dashboard Statistics
Four key metric cards at the top:- 🏥 Pacientes - Total patient count with link to
/patients - 📅 Citas Hoy - Today’s appointment count with link to
/appointments - 📦 Inventario - Low stock items count with link to
/admin/inventory - 📈 Por Cobrar - Outstanding accounts receivable with link to
/admin/reports
Clinical Management Panel
The main section displays:- Today’s appointment agenda with patient names, times, doctors, and status
- Branch filter dropdown to view specific locations
- Refresh button to update statistics
Right Sidebar
The sidebar contains:- Rendimiento Clínico - Completion rate progress bar
- Pulso de Operaciones - Recent system activity timeline
- Quick access buttons - Navigate to Patients, Appointments, Logistics, and Finance
The dashboard is role-specific. Doctors see their assigned patients and appointments, while secretaries see check-in/check-out focused metrics.
Step 4: View Sample Patient
OdontologyApp includes a sample patient “María Pérez” in the seed data.Find the sample patient
You’ll see a searchable patient list. The sample patient has:
- Name: María Pérez
- Cedula: 12.345.678-9
- Medical Record No: 260001
- Birth Date: March 12, 1985
- Phone: +56 9 8888 1234
- Email: [email protected]
- Blood Group: O+
- Allergies: Penicilina
- Branch: Sucursal Central
Step 5: Create Your First Appointment
Navigate to appointments
Go to the appointments page:You’ll see a calendar/agenda view of scheduled appointments.
Fill in appointment details
Complete the appointment form:
- Patient: Select “María Pérez” from the dropdown
- Doctor: Select “Dr. Carlos Soto”
- Branch: Select “Sucursal Central”
- Date: Choose a date (e.g., today or tomorrow)
- Time: Select a time slot (e.g., 10:00 AM)
- Duration: 30 minutes (default)
- Notes: “Consulta de control” (optional)
The appointment will have a default status of “scheduled”. Secretaries can change it to “confirmed” or “waiting” as the patient arrives.
Step 6: Create a New Patient (Optional)
Understanding User Roles
Each role has different capabilities:Authentication Flow
Understanding how authentication works in OdontologyApp:Route Protection
OdontologyApp uses SvelteKit hooks to protect routes:API Endpoints Reference
Key API endpoints you’ll work with:Common Operations
Checking Today’s Appointments
Changing Appointment Status
Viewing Audit Logs (Admin Only)
Troubleshooting
”Error de conexión con el servidor”
Cause: Backend server is not running or database connection failed. Solution:- Verify MySQL is running:
sudo systemctl status mysql - Check database credentials in
.envfile - Ensure development server is running:
npm run dev
”Credenciales inválidas”
Cause: Wrong username/password or seed data not imported. Solution:- Re-import seed data:
mysql -u root -p ontology_db < database.sql - Verify passwords match the bcrypt hashes in
database.sql
Page redirects to /login immediately
Cause: Session cookie expired or was cleared.
Solution:
- Log in again (sessions expire after 24 hours)
- Check browser console for cookie errors
- Verify
hooks.server.jsis properly configured
”No tienes permisos para acceder a esa sección”
Cause: Attempting to access admin-only routes without admin role. Solution:- Log out and log back in as
adminuser - Or request permission assignment from an administrator
Next Steps
Installation Guide
Learn how to deploy OdontologyApp to production
API Reference
Explore the complete API documentation
Configuration
Configure environment variables and system settings
User Management
Learn how to manage users and permissions
Tips for Getting Started
Tip 1: Start by exploring the dashboard as each role (admin, doctor, secretary) to see how the interface adapts to different permission levels.
Tip 2: Use the sample patient “María Pérez” to test clinical features like creating medical records, updating odontograms, and uploading files before creating new patients.
Tip 3: The audit logs (accessible at
/logs for admins) are invaluable for understanding system activity and debugging issues.Tip 4: Each appointment has a UUID that can be used for public-facing reminder URLs without exposing database IDs.
