Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/JulietaEM/EdgeTimer/llms.txt

Use this file to discover all available pages before exploring further.

EdgeTimer ships a single React Native application that serves both clients and barbers. After choosing a role at login, each user sees a tailored interface built on the same screens and navigation shell. The web version is exported with Expo and deployed to Vercel, while the same codebase runs natively on iOS and Android.

Tech stack

LayerChoice
UI frameworkReact Native 0.81
App platformExpo ~54
LanguageTypeScript ~5.9
HTTP clientAxios ^1.16
Web deploymentVercel (via expo export --platform web)
Web analyticsVercel Speed Insights
Custom fonts — Satoshi (titles) and Darker Grotesque (body text) — are loaded at startup via expo-font. The app waits for fonts to resolve before rendering any screen.

Dual-role UX

The app has one user type selector at launch. Selecting Barbero (barber) goes straight to the login screen. Selecting Usuario (client) goes to registration, with a link to log in for returning users. After authentication the app reads the role from the session profile and adapts every screen accordingly — no separate builds or app variants are needed.

Main screens

Once authenticated, users navigate between three screens via the AppShell:
ScreenPurpose
HomePrimary action screen — clients browse barbers and slots; barbers manage incoming requests
AgendaFull appointment history with calendar view, rescheduling, and ratings
PerfilProfile photo, account info, and barber specialty listings
The AppShell component wraps all authenticated screens. On wide viewports (≥ 820 px) it renders a 250 px fixed sidebar. On narrower viewports it collapses to a top header with a toggle button that opens a drop-down panel. Both layouts provide the same three navigation items — Home, Agenda, Mi Perfil — plus a logout button. The sidebar displays the barbershop brand name AlphaCorte alongside the app logo. This is the in-app name used to identify the barbershop; EdgeTimer is the name of the scheduling platform itself.

API connection

All network requests go through a single Axios instance configured in src/api.ts. The default base URL points to the hosted backend:
https://edgetimer-backend.onrender.com
Set the EXPO_PUBLIC_API_URL environment variable to redirect requests to a different backend. See the configuration page for details.

Screens and navigation

Detailed breakdown of every screen, what users see, and how each role navigates the app.

Configuration

Environment variables, run commands, and Vercel deployment configuration.

Build docs developers (and LLMs) love