Overview
SIGEAC is built with modern web technologies focused on performance, developer experience, and maintainability.Core Technologies
Next.js 14
React framework with App Router
React 18
UI library with hooks and concurrent features
TypeScript 5
Type-safe JavaScript
Framework & Runtime
Next.js 14.2.14
SIGEAC uses Next.js 14 with the App Router for:- Server Components - Improved performance with server-side rendering
- File-based Routing - Intuitive route structure in
/appdirectory - Layouts - Shared UI across routes
- Dynamic Routes -
[company]parameter for multi-tenancy - Middleware - Route protection and authentication
- API Routes - Backend-for-frontend patterns
React 18
Utilizing React 18 features:- Hooks - useState, useEffect, useContext, custom hooks
- Suspense - Loading states and code splitting
- Concurrent Rendering - Better performance for complex UIs
- Client Components - Interactive components with
'use client'
app/[company]/dashboard/page.tsx:1
TypeScript 5
Full type safety across the application:- Strict Mode - Enabled for maximum type safety
- Type Definitions - Comprehensive types in
types/index.ts - Path Aliases -
@/*for clean imports - IntelliSense - Better IDE support
types/index.ts:1
State Management
- React Query
- Zustand
- React Context
@tanstack/react-query ^5.51.9Server state management and data fetching:See:
hooks/general/clientes/useGetClients.ts:12Features:- Automatic caching and background updates
- Optimistic updates
- Infinite queries and pagination
- Request deduplication
UI & Styling
Tailwind CSS 3.4.1
Utility-first CSS framework:tailwindcss-animate- Pre-built animationstailwind-merge- Merge Tailwind classes efficientlyclass-variance-authority- Variant-based component styling
shadcn/ui Components
Built on Radix UI primitives:@radix-ui/react-dialog
Accessible modals and dialogs
@radix-ui/react-dropdown-menu
Dropdown menus and context menus
@radix-ui/react-select
Custom select components
@radix-ui/react-toast
Toast notifications
- Full keyboard navigation
- ARIA attributes
- Focus management
- Unstyled by default (styled with Tailwind)
Additional UI Libraries
package.json
Data Visualization
- Recharts
- TanStack Table
- Schedule-X
recharts ^2.15.1Chart library built on D3:Features:
- Line, Bar, Pie, Area charts
- Responsive design
- Animations
- Tooltips and legends
Forms & Validation
React Hook Form 7.52.1
Performant form handling:- Minimal re-renders
- Easy validation integration
- TypeScript support
- Field arrays and dynamic forms
Zod 3.23.8
Schema validation:HTTP Client
Axios 1.7.2
Configured HTTP client:lib/axios.ts:1
Date & Time
date-fns
date-fns ^3.6.0Modern date utility library:
moment
moment ^2.30.1Legacy date handling (being phased out):
Authentication & Security
- jose
- bcrypt-ts
jose ^5.6.3JWT handling:
Real-time Communication
Laravel Echo & Pusher
PDF Generation
- @react-pdf/renderer
- pdf-lib
@react-pdf/renderer ^4.1.5React components to PDF:
Additional Libraries
UI Components
UI Components
- qrcode.react ^4.2.0 - QR code generation
- react-confetti ^6.4.0 - Confetti animations
- input-otp ^1.4.2 - OTP input component
- cmdk ^1.0.0 - Command palette
- vaul ^0.9.1 - Drawer component
Data Handling
Data Handling
- query-string ^9.1.1 - URL query string parsing
- react-currency-input-field ^3.8.0 - Currency input
- react-day-picker ^8.10.1 - Date picker
Image Processing
Image Processing
- sharp ^0.33.5 - High-performance image processing
- next-images ^1.8.5 - Image imports
Development Tools
devDependencies
Version Matrix
| Technology | Version | Purpose |
|---|---|---|
| Next.js | 14.2.14 | Framework |
| React | 18 | UI Library |
| TypeScript | 5 | Type Safety |
| Tailwind CSS | 3.4.1 | Styling |
| React Query | 5.51.9 | Data Fetching |
| Zustand | 4.5.4 | State Management |
| Axios | 1.7.2 | HTTP Client |
| React Hook Form | 7.52.1 | Forms |
| Zod | 3.23.8 | Validation |
Next Steps
State Management
Learn how to manage state in SIGEAC
Data Fetching
Understand data fetching patterns
