Skip to content

arpitbanna/SMEFlow

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SMEFlow β€” AI-Powered Business Automation

πŸš€ SMEFlow

Where Human Vision Meets Intelligent Automation.

A premium, modular automation platform built to help small and medium businesses streamline operations, capture every lead, and scale with confidence β€” without the enterprise price tag.


Live Demo


React Vite Supabase Framer Motion Vercel License


πŸ“– What is SMEFlow?

SMEFlow turns operational chaos into organised, intelligent workflows. Designed specifically for growing SMEs, it replaces scattered spreadsheets, missed follow-ups, and disconnected tools with a unified, beautifully designed system.

The front end is built with React + Vite, featuring a premium, cinematic UI powered by Framer Motion for smooth transitions and micro-interactions. Real-time data is handled by Supabase (PostgreSQL), and the entire app is deployed globally on Vercel.


✨ Features

🏒 Business Operations

Feature Description
Lead Management Centralise and track customer inquiries with conversion visibility
Automated Follow-Ups Rule-based reminders ensure no opportunity or payment is ever missed
Sales Pipeline Stage-based deal tracking with clear forecasting
Contact Form Live inquiry capture β€” data lands in Supabase in real-time
FAQ System Dynamic accordion FAQs managed directly from the admin panel

πŸ” Admin Panel (/admin)

A password-protected, ultra-dark themed control center β€” invisible to regular users.

Capability Detail
πŸ“Š Live Stat Cards See total, pending, in-process, and completed inquiries at a glance
πŸ” Search & Filter Search by name, email, company, or message; filter by status
πŸ“‘ Smart Sort Sort by date (newest/oldest), name (A–Z), or status
🏷️ Status Management One-click status update: Not Started β†’ In Process β†’ Done
πŸ“¦ Content Management Manage pricing plans, team members, and FAQs live β€” no code required
βš™οΈ Settings Change admin password, clear completed inquiries with a confirmation guard
πŸ”‘ Auth Gate Password-protected session with localStorage persistence

🎨 UI / UX

  • Framer Motion β€” Cinematic page transitions, staggered reveals, and AnimatePresence card animations
  • Glassmorphism β€” Deep gradients, rich overlays, and glowing gold accents
  • Toast System β€” Instant non-blocking feedback on every user action
  • 3D Buttons β€” Tactile press-down effect with layered box-shadow
  • Responsive β€” Full mobile-friendly layout with animated hamburger menu

πŸ› οΈ Tech Stack

Category Technology
Framework React 18
Build Tool Vite 5
Routing React Router DOM v6
Database Supabase (PostgreSQL)
Animations Framer Motion
Styling Vanilla CSS (Flexbox/Grid, CSS Variables, Glassmorphism)
Auth Custom context-based auth with localStorage session
Deployment Vercel
Icons Custom embedded inline SVGs

πŸ“‚ Project Structure

SMEFlow/
β”œβ”€β”€ public/                     # Static assets
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ Header.jsx          # Navbar with conditional Admin link
β”‚   β”‚   β”œβ”€β”€ Footer.jsx          # Site footer with links
β”‚   β”‚   β”œβ”€β”€ Layout.jsx          # Page wrapper (Header + Footer)
β”‚   β”‚   β”œβ”€β”€ PageTransition.jsx  # Route transition animations
β”‚   β”‚   β”œβ”€β”€ ProtectedRoute.jsx  # Auth guard β€” redirects to /login
β”‚   β”‚   └── ContentManager.jsx  # πŸ“¦ Live CRUD for Pricing, Team, FAQs
β”‚   β”œβ”€β”€ context/
β”‚   β”‚   β”œβ”€β”€ AuthContext.jsx     # Auth state, login, logout, changePassword
β”‚   β”‚   └── ToastContext.jsx    # Global toast notification system
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   └── supabase.js         # Supabase client (reads from .env)
β”‚   β”œβ”€β”€ services/
β”‚   β”‚   └── api.js              # API helpers (Inquiries, Plans, Team, FAQs)
β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ Home.jsx            # Homepage with hero & CTA
β”‚   β”‚   β”œβ”€β”€ Features.jsx        # Feature showcase grid
β”‚   β”‚   β”œβ”€β”€ Pricing.jsx         # Dynamic pricing from Supabase
β”‚   β”‚   β”œβ”€β”€ About.jsx           # Dynamic team profiles from Supabase
β”‚   β”‚   β”œβ”€β”€ Contact.jsx         # Contact form + FAQ accordion
β”‚   β”‚   β”œβ”€β”€ LeadManagement.jsx  # Lead management feature page
β”‚   β”‚   β”œβ”€β”€ AutomatedFollowUps.jsx  # Follow-ups feature page
β”‚   β”‚   β”œβ”€β”€ LandingPage.jsx     # Standalone cinematic landing page
β”‚   β”‚   β”œβ”€β”€ Dashboard.jsx       # πŸ”’ Admin panel with all controls
β”‚   β”‚   └── Login.jsx           # πŸ”’ Admin login gate
β”‚   β”œβ”€β”€ App.jsx                 # Router, auth provider, global loader
β”‚   β”œβ”€β”€ main.jsx                # React entry point
β”‚   └── index.css               # Global stylesheet (1500+ lines)
β”œβ”€β”€ .env                        # πŸ”’ Supabase credentials (git-ignored)
β”œβ”€β”€ .env.example                # Template β€” safe to commit
β”œβ”€β”€ vercel.json                 # SPA rewrite rules for Vercel
β”œβ”€β”€ index.html                  # HTML entry point
β”œβ”€β”€ package.json                # Dependencies and scripts
└── vite.config.js              # Vite configuration

πŸ’» Installation & Setup

1. Clone the repository

git clone https://github.com/baryansagar74-create/SMEFlow.git
cd SMEFlow

2. Install dependencies

npm install

3. Configure environment variables

cp .env.example .env

Edit .env and add your Supabase project credentials:

VITE_SUPABASE_URL=https://your-project.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-key

4. Set up the Supabase database

In your Supabase SQL Editor, run:

-- Inquiries table
CREATE TABLE inquiries (
    id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    created_at TIMESTAMPTZ DEFAULT now(),
    name TEXT NOT NULL,
    email TEXT NOT NULL,
    company TEXT,
    message TEXT NOT NULL,
    status TEXT DEFAULT 'not_started'
);

-- Pricing Plans table
CREATE TABLE pricing_plans (
    id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    created_at TIMESTAMPTZ DEFAULT now(),
    name TEXT NOT NULL,
    subtitle TEXT,
    price TEXT NOT NULL,
    features TEXT,
    button_text TEXT DEFAULT 'GET STARTED',
    is_popular BOOLEAN DEFAULT false,
    display_order INT DEFAULT 0
);

-- Team Members table
CREATE TABLE team_members (
    id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    created_at TIMESTAMPTZ DEFAULT now(),
    name TEXT NOT NULL,
    role TEXT,
    bio TEXT,
    image_url TEXT,
    display_order INT DEFAULT 0
);

-- FAQs table
CREATE TABLE faqs (
    id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    created_at TIMESTAMPTZ DEFAULT now(),
    question TEXT NOT NULL,
    answer TEXT NOT NULL,
    display_order INT DEFAULT 0
);

Enable Row Level Security (RLS) and set public access policies:

ALTER TABLE inquiries ENABLE ROW LEVEL SECURITY;
ALTER TABLE pricing_plans ENABLE ROW LEVEL SECURITY;
ALTER TABLE team_members ENABLE ROW LEVEL SECURITY;
ALTER TABLE faqs ENABLE ROW LEVEL SECURITY;

CREATE POLICY "Public access" ON inquiries FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Public access" ON pricing_plans FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Public access" ON team_members FOR ALL USING (true) WITH CHECK (true);
CREATE POLICY "Public access" ON faqs FOR ALL USING (true) WITH CHECK (true);

5. Start the development server

npm run dev

The app will be available at http://localhost:5173.

6. Build for production

npm run build

πŸš€ Deploying to Vercel

  1. Push your code to GitHub
  2. Import the repository at vercel.com/new
  3. In Project Settings β†’ Environment Variables, add:
    • VITE_SUPABASE_URL β†’ your Supabase project URL
    • VITE_SUPABASE_ANON_KEY β†’ your Supabase anon key
  4. Deploy β€” Vercel auto-detects Vite and handles everything

The vercel.json file already includes the SPA rewrite rule so all routes (including /admin) resolve correctly.


πŸ” Admin Panel Access

The admin panel is completely hidden from regular users β€” it doesn't appear in the nav until you're authenticated.

  1. Navigate to yoursite.com/admin
  2. You'll be redirected to the login page automatically
  3. Enter the admin password
  4. Once logged in, the ADMIN link appears in the navbar
  5. Manage inquiries, website content (pricing, team, FAQs), and settings from one panel

⚠️ Security Note: The default password is stored in AuthContext.jsx. Change it from inside the Settings panel after first login β€” the new password is stored in localStorage encrypted by key.


🎨 Design System

Token Value
Background linear-gradient(135deg, #E9E2D0, #D4CCB8)
Primary Dark linear-gradient(135deg, #1C3E4D, #112A35)
Gold Accent #F0B90B
Base Text #F5F3E7 (Off-White)
Admin BG #0F1114 β†’ #1A1D23 (Ultra-dark)
Heading Font Oswald (bold, tracked)
Body Font Inter (highly legible)

🀝 Contributing

All components follow consistent labelling conventions (e.g. /* ===== IMPORTS ===== */, /* ===== RENDER ===== */) for maximum readability. Please maintain this standard when contributing.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/my-feature
  3. Copy .env.example β†’ .env and add your credentials
  4. Commit your changes: git commit -m 'feat: add my feature'
  5. Push and open a Pull Request

πŸ“„ License

MIT Β© SMEFlow

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 66.3%
  • HTML 21.1%
  • CSS 12.6%