2026-10-09 12:16:48 +05:30

3.0 KiB

// README - Modular Sidrah Business App Structure

📁 FILE STRUCTURE

src/
├── App.tsx (MAIN - Login + Router)
├── components/
│   ├── Sidebar.tsx (Navigation)
│   ├── Header.tsx (Page Title/Subtitle)
│   └── common.tsx (Colors, Styles, Helpers)
├── pages/
│   ├── Dashboard.tsx (Overview Page)
│   ├── incidents/
│   │   ├── IncidentForm.tsx (Submit Form)
│   │   └── IncidentsList.tsx (View All)
│   ├── ideas/
│   │   ├── IdeaForm.tsx (Submit Form)
│   │   └── IdeasList.tsx (View All)
│   ├── orders/
│   │   ├── OrderForm.tsx (Submit Form)
│   │   └── OrdersList.tsx (View All)
│   └── organizations/
│       └── OrganizationsList.tsx (View All)
├── types/
│   └── index.ts (All Interfaces)
└── utils/
    └── api.ts (API Calls)

🚀 SETUP INSTRUCTIONS

1. Create Folder Structure

mkdir -p src/{components,pages/{incidents,ideas,orders,organizations},types,utils}

2. Copy Files to Correct Locations

Root Level:

  • App.tsx → src/App.tsx

Components:

  • components_Sidebar.tsx → src/components/Sidebar.tsx
  • components_Header.tsx → src/components/Header.tsx
  • components_common.tsx → src/components/common.tsx

Types:

  • types_index.ts → src/types/index.ts

Utils:

  • utils_api.ts → src/utils/api.ts

Pages:

  • pages_Dashboard.tsx → src/pages/Dashboard.tsx
  • pages_incidents_IncidentForm.tsx → src/pages/incidents/IncidentForm.tsx
  • pages_incidents_IncidentsList.tsx → src/pages/incidents/IncidentsList.tsx
  • pages_ideas_IdeaForm.tsx → src/pages/ideas/IdeaForm.tsx
  • pages_ideas_IdeasList.tsx → src/pages/ideas/IdeasList.tsx
  • pages_orders_OrderForm.tsx → src/pages/orders/OrderForm.tsx
  • pages_orders_OrdersList.tsx → src/pages/orders/OrdersList.tsx
  • pages_organizations_OrganizationsList.tsx → src/pages/organizations/OrganizationsList.tsx

📦 KEY BENEFITS

✅ Modular - Each page in its own file ✅ Scalable - Easy to add new pages ✅ Maintainable - Clear folder structure ✅ Reusable - Shared components & utilities ✅ Type-Safe - Centralized type definitions ✅ Clean - Separated concerns

🔧 HOW TO ADD NEW PAGE

  1. Create folder: src/pages/newfeature/
  2. Create component files:
    • NewFeatureForm.tsx
    • NewFeatureList.tsx
  3. Import in App.tsx
  4. Add to Sidebar navigation
  5. Done! 🎉

📝 EDIT COLORS

Edit src/components/common.tsx:

export const colors = {
  primary: '#3b82f6',  // Change this
  secondary: '#10b981',
  // ... etc
}

🔒 ENABLE ROLE RESTRICTIONS

In src/App.tsx, uncomment lines to enable roles:

// const isManager = user.role === 'Manager'
// const isReadOnly = user.role === 'Auditor'

Then pass to page components to conditionally render.


All modular, organized, production-ready! 🚀