crm_OBUO_FARMS
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v76View latest version
A dual-interface CRM application for OBUO Farms with separate client and admin portals.
- Client Portal: Clean, simple order form for customers
- Admin Dashboard: Complete order management with authentication
- SQLite database for storing orders
- Automatic email confirmations to clients
- RESTful API for order management
- Simple, customer-friendly order form
- No backend data exposed to clients
- Automatic email confirmations
- Mobile-responsive design
- Professional OBUO Farms branding
- Secure login required
- Complete order management dashboard
- Create new orders manually
- View all orders with search/filter/sort
- Order statistics and analytics
- Logout functionality
Default Admin Credentials:
- Username:
admin - Password:
obuo2024
Note: Change these credentials for production use
├── backend/
│ ├── database/
│ │ ├── migrations.ts # Database schema
│ │ └── queries.ts # Database operations
│ ├── routes/
│ │ ├── orders.ts # Order API endpoints
│ │ └── static.ts # Static file serving & routing
│ └── index.ts # Main Hono app
├── frontend/
│ ├── components/
│ │ ├── App.tsx # Main React app with routing
│ │ ├── ClientOrderForm.tsx # Public order form
│ │ ├── LoginForm.tsx # Admin login
│ │ ├── AdminDashboard.tsx # Admin interface
│ │ ├── OrderForm.tsx # Admin order creation
│ │ └── Dashboard.tsx # Orders dashboard
│ ├── index.html # Main HTML template
│ ├── index.tsx # Frontend entry point
│ └── style.css # Styles
└── shared/
├── types.ts # Shared TypeScript types
└── auth.ts # Authentication utilities
POST /api/orders- Create a new orderGET /api/orders- Get all orders (admin only)GET /api/orders/:id- Get specific orderPUT /api/orders/:id- Update orderDELETE /api/orders/:id- Delete order
/- Client order form (public)/admin- Admin login/dashboard (protected)/health- Health check endpoint
Orders table includes:
- Client information (name, phone, email)
- Order details (type, quantity, delivery date)
- Notes and timestamps
The application automatically initializes the database on startup. No additional setup is required.
- Visit the main page (
/) to place orders - Fill out the simple order form
- Receive automatic email confirmation
- Visit
/adminto access the dashboard - Login with admin credentials
- View all orders, create new orders, and manage the system
- Use the dashboard for analytics and order tracking
- ✅ Separate client and admin interfaces
- ✅ Authentication required for admin access
- ✅ Session management with 24-hour expiry
- ✅ No sensitive data exposed to clients
- ✅ Secure order creation and management
- Fresh Fish
- Frozen Fish
- Live Fish
- Fish Fillet
- Smoked Fish
- Dried Fish
- Catfish
- Tilapia
- Fish Feed
- Other
- ✅ Dual Interface Design: Separate client and admin portals
- ✅ Client Portal: Clean, simple order form without backend exposure
- ✅ Admin Dashboard: Complete order management with authentication
- ✅ Responsive design for mobile and desktop
- ✅ Real-time order creation with validation
- ✅ Automatic email confirmations to clients
- ✅ Search and filter orders by multiple criteria
- ✅ Sort orders by date, client name, or delivery date
- ✅ Visual status indicators for delivery dates
- ✅ SQLite database with proper schema
- ✅ RESTful API with error handling
- ✅ TypeScript for type safety
- ✅ Session-based authentication for admin access