Skip to main content
Version: 0.57.0-rc.110

Frontend Applications

This document describes Lana's frontend applications, their architecture, and development patterns.

Overview​

Lana includes the following frontend application:

ApplicationPurposeUsers
Admin PanelBank managementAdministrative staff

Technology Stack​

Directory Structure​

apps/
├── admin-panel/ # Admin Panel
│ ├── app/ # Next.js App Router
│ ├── components/ # React components
│ ├── lib/ # Utilities and config
│ └── generated/ # Generated code (GraphQL)
│
└── shared/ # Shared code
├── ui/ # UI components
└── utils/ # Common utilities

Development Patterns​

Server Components vs Client Components​

// Server Component (default)
export default async function CustomersPage() {
const customers = await fetchCustomers();
return <CustomerList customers={customers} />;
}

// Client Component (interactive)
'use client';

export function CustomerForm() {
const [name, setName] = useState('');
// ...
}

State Management​

  • Apollo Client: Server state (GraphQL data)
  • React Context: Global UI state
  • useState/useReducer: Local component state

Local Development​

Start Applications​

# Admin Panel
cd apps/admin-panel
pnpm dev

Development URLs​

ApplicationURL
Admin Panelhttp://admin.lana-bank.localhost:1355