Skip to content

devi5040/Smart-Panchayat-app

Repository files navigation

Smart-Panchayat-app

Smart Panchayat is a digital solution designed to modernize and streamline Panchayat-level governance. It aims to provide a centralized platform for managing village-level administration, public services, and citizen engagement. The project focuses on digitizing records, improving service delivery, and enhancing transparency through technology.


🖼️ Screenshots & Demo


✨ Features

  • User Management (CRUD operations, role-based access control)
  • Shop Management (add, update, view shops)
  • Product Management (add, update, delete, view products; manage product categories)
  • Order Management (add, update, view order history)
  • Shipment Management (Track shipments, add shops to shipments, manage shipment products)
  • Category Management (add, update, delete categories)
  • Agent Management (CRUD operations)
  • Secure Authentication (Firebase authentication)
  • Robust Data Validation (using Joi)
  • Detailed Logging (using Winston)
  • AWS S3 Integration for file storage
  • Database Migrations (using Sequelize)
  • Unit Tests for various services

📂 Project Structure

SmartPanchayat-App/
├── .expo/                         # Expo internal files (auto-generated)
├── .vscode/                       # VS Code workspace settings
├── android/                       # Android native project (Expo prebuild)
├── node_modules/
│
├── src/
│   ├── app/                       # Expo Router (file-based routing)
│   │   ├── (agent)/               # Agent flow routes
│   │   ├── (shop)/                # Shop flow routes
│   │   ├── (tabs)/                # User flow
│   │   │
│   │   ├── auth/                  # Authentication screens
│   │   ├── location/              # Location-related screens
│   │   ├── order/                 # Order screens
│   │   ├── product/               # Product screens
│   │   ├── profile/               # User profile screens
│   │   ├── search/                # Search screens
│   │   ├── settings/              # App settings screens
│   │   ├── shipment/              # Shipment screens
│   │   ├── user/                  # User-related screens
│   │   │
│   │   ├── _layout.tsx             # Root layout (navigation wrapper)
│   │   ├── +not-found.tsx          # 404 / fallback screen
│   │   ├── index.tsx               # App entry screen
│   │   ├── ThemeBridge.tsx         # Theme ↔ navigation bridge
│   │   └── ThemeContext.tsx        # Theme context provider
│   │
│   ├── assets/                    # Images, fonts, icons
│   │
│   ├── components/                # Reusable UI components
│   │   ├── category/
│   │   ├── drawer/
│   │   ├── farmers/
│   │   └── ...
│   │
│   ├── constants/                 # App-wide constants
│   │   ├── colors.ts
│   │   ├── fonts.ts
│   │   ├── sizes.ts
│   │   └── routes.ts
│   │
│   ├── data/                      # Static/mock data
│   │
│   ├── hooks/                     # Custom React hooks
│   │   ├── useAuth.ts
│   │   ├── useTheme.ts
│   │   └── useNetwork.ts
│   │
│   ├── locales/                   # i18n / translations
│   │   ├── English.json
│   │   └── Kannada.json
│   │
│   ├── redux/                     # Redux Toolkit store
│   │   ├── feature/               # Feature-based slices
│   │   │   ├── category/
│   │   │   │   ├── categorySlice.ts
│   │   │   │   └── categoryActions.ts
│   │   │   │
│   │   │   ├── order/
│   │   │   ├── products/
│   │   │   ├── shipments/
│   │   │   ├── shop/
│   │   │   └── user/
│   │   │
│   │   └── store.ts               # Redux store configuration
│   │
│   ├── scripts/                   # Utility scripts (build, clean, etc.)
│   │
│   ├── styles/                    # Global styles & themes
│   │   └── global.css
│   │
│   └── utils/                     # Helper functions
│       ├── secureAuth.ts             # AsyncStorage helpers
│       ├── i18n.ts
│       └── responsive.ts
│
├── .gitignore
├── app.json                       # Expo app configuration
├── babel.config.js                # Babel config
├── eas.json                       # Expo Application Services config
├── eslint.config.js               # ESLint rules
├── expo-env.d.ts                  # Expo TypeScript types
├── metro.config.js                # Metro bundler config
├── package.json
└── README.md

🛠️ Tech Stack

    1. Framework
    • React Native
    • Expo
    • Expo Router
    1. State Management
    • Redux (Redux Toolkit)
    1. Authentication
    • Firebase OTP authentication
    1. Storage
    • Expo SecureStore (secure token storage)
    • AsyncStorage (language preference & theme storage)
    1. Multi Language
    • i18n
    1. Networking
    • axios

Local Installation

1. Clone the repository

git clone <repository-url>
cd <project-folder>

2. Install dependencies

npm install

3. Start the Expo development server

npx expo start

4. Run the app

# Android
npx expo start --android

# iOS (macOS only)
npx expo start --ios

5. Run EsLint

npm run lint

6. Build the app (optional)

# Android build
npx expo run:android

# iOS build
npx expo run:ios

About

Smart Panchayat is a digital solution designed to modernize and streamline Panchayat-level governance. It aims to provide a centralized platform for managing village-level administration, public services, and citizen engagement. The project focuses on digitizing records, improving service delivery, and enhancing transparency through technology.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors