https://github.com/sashenjayathilaka/ausi-lanka-ecom
Official e-commerce web app for Ausi Lanka β a platform to browse, buy, and manage items online. Built with Next.js, TypeScript and Tailwind CSS. Features include product listings, cart system, secure login, and responsive UI with Framer Motion.
https://github.com/sashenjayathilaka/ausi-lanka-ecom
api-gateway aws-ec2-intances axios clerk-auth concurrently cors drizzle-orm ecommerce-website framer-motion neon nextjs-15 node-js puppeteer react-hook-form resend-email sonner tailwind-css tanstack-react-query trpc zustand
Last synced: 3 months ago
JSON representation
Official e-commerce web app for Ausi Lanka β a platform to browse, buy, and manage items online. Built with Next.js, TypeScript and Tailwind CSS. Features include product listings, cart system, secure login, and responsive UI with Framer Motion.
- Host: GitHub
- URL: https://github.com/sashenjayathilaka/ausi-lanka-ecom
- Owner: SashenJayathilaka
- License: apache-2.0
- Created: 2025-06-22T17:18:31.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-08-28T03:42:18.000Z (3 months ago)
- Last Synced: 2025-08-28T08:26:33.287Z (3 months ago)
- Topics: api-gateway, aws-ec2-intances, axios, clerk-auth, concurrently, cors, drizzle-orm, ecommerce-website, framer-motion, neon, nextjs-15, node-js, puppeteer, react-hook-form, resend-email, sonner, tailwind-css, tanstack-react-query, trpc, zustand
- Language: TypeScript
- Homepage: https://www.ausi.lk
- Size: 10.8 MB
- Stars: 5
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Ausi.LK
Your Gateway to Authentic Sri Lankan Groceries in Australia
[](https://auslanka.com.au)
[](https://nodejs.org/)
[](https://neon.tech)
[](https://nextjs.org/)
[](LICENSE)
---
## π About the Business
**Ausi.Lk Delivery** is a real, Melbourne-based online grocery delivery business focused on serving Sri Lankans living in Australia. We bring the flavors of home from authentic spices to homecooked meals. right to your doorstep.
> This is not a demo. This is our actual production platform serving real customers across Australia.
## π Current Business Snapshot (2025)
- π **5,000+ active customers**
- π€ **200+ verified suppliers**
- π **15,000+ successful deliveries**
- π¬ **98.7% customer satisfaction**
- π¦πΊ **Live in 8 major cities across Australia**
---
## π What Makes Us Unique?
| Feature | Description | Status |
| ---------------------- | ---------------------------------------------------- | ---------- |
| Multi-city Delivery | We deliver across all major Australian metro areas | β
Live |
| Sri Lankan Recipe Kits | Cook authentic dishes with our ready-to-cook bundles | π§ Q3 2025 |
| Merchant Dashboard | Real-time sales insights and bulk catalog management | β
Live |
| AI Route Optimization | Fast delivery via optimized driver routing | β
Live |
| Cold Chain Logistics | Fresh frozen items delivered with temp. control | π§ Pilot |
---
## ποΈ Our Tech, Built for Scale
### System Overview
```mermaid
graph TD
%% Frontend Section
A[Next.js Frontend\nHosted on Vercel] -->|tRPC| B[Next.js API Routes]
A -->|Auth| K[Clerk Auth]
K -->|User Created Webhooks| G[Ngrok]
%% Backend Services
B -->|Emails| R[Resend]
%% Node.js Backend (Separate Service)
N[Node.js Backend\nAWS EC2] -->|Scraping| C[Puppeteer]
N -->|DB| E[(MongoDB)]
N -->|External APIs| D[Currency Rate APIs]
A -->|API Calls| N
%% Development Tools
subgraph Development
F[Nodemon] -->|Hot Reload| N
end
%% Key Packages
subgraph NextJS_Stack
B -->|Emails| L[Resend SDK]
B -->|DB| M[Drizzle + Neon]
A -->|State| H[Zustand]
A -->|Forms| I[React Hook Form]
A -->|TRPC| J[tRPC]
end
subgraph NodeJS_Stack
N -->|HTTP| O[Express]
N -->|Scheduling| P[node-cron]
N -->|DB| Q[Mongoose]
N -->|Requests| S[Axios]
end
%% Styling
style A fill:#000000,color:#ffffff
style B fill:#0070f3,color:#ffffff
style N fill:#539E43,color:#ffffff
style C fill:#40B5A4,color:#000000
style D fill:#FFD700,color:#000000
style E fill:#13AA52,color:#ffffff
style K fill:#5C6BC0,color:#ffffff
style R fill:#6D4AFF,color:#ffffff
style G fill:#FF6347,color:#ffffff
classDef pkg fill:#191970,stroke:#ddd;
class H,I,J,L,M,O,P,Q,S pkg;
```
## Current Implementation Details
### Node.js Backend Services
1. **Web Scraping**:
- Uses `puppeteer` (v24.10.2)
- Scheduled via `node-cron` (v4.1.1)
2. **Currency Rate Updates**:
- Fetched using `axios` (v1.10.0)
- Stored in MongoDB via `mongoose` (v8.16.1)
3. **API Server**:
- Built with `express` (v5.1.0)
- CORS enabled via `cors` (v2.8.5)
### Frontend-Backend Communication
- Next.js makes API calls to Node.js backend
- No direct file storage integration (AWS S3 removed)
- Authentication handled entirely by Clerk
### Planned Future Additions
- Twilio integration (not currently implemented)
## π οΈ Technical Stack
- **Frontend**: Next.js 14 (App Router), Tailwind CSS
- **Backend**: Node.js 20, Express.js, Drizzle ORM
- **Authentication**: [Clerk.dev](https://clerk.dev)
- **Database**: [Neon (PostgreSQL 15+)](https://neon.tech)
- **CI/CD**: GitHub Actions
- **Hosting**: AWS EC2 (t3.xlarge)
---
## π¨βπ» For Developers
## π§° Installation
### β
Prerequisites
- Node.js 20+
- Redis 7.x
- PostgreSQL (or Neon DB)
- AWS CLI configured
### π§ Setup
```bash
# Clone project
git clone https://github.com/SashenJayathilaka/Ausi-Lanka-Ecom
cd Ausi-Lanka-Ecom
# Install packages
npm install
cd client && bun install
cd server && npm install
# Environment setup
cp .env.example .env
# Fill in your credentials
# Database migration
bun drizzle-kit push
# Start development servers (in 2 terminals)
client/ bun run dev:all
backend/ /npm run dev
```
---
## π Security Commitment
- π JWT Auth (rotating keys)
- π‘οΈ CSRF protection
- π Row-level PostgreSQL access
- π§ͺ Penetration testing quarterly
- β
SOC 2 Type I Compliant
π© **Report vulnerabilities**: [security@auslanka.com.au](mailto:ausilk27@gmail.com)
---
## π License
This project is licensed under the MIT License, with commercial use restrictions:
β οΈ Unauthorized commercial use, replication, resale, or redistribution of this codebase is strictly prohibited without written permission from Aus Lanka. This repository is public solely for operational deployment.
Β© 2025 Aus Lanka. All rights reserved.
---
## π Contact Us
**Head Office:**
95 weeden drive vermont south 3133Β VIC, Australia
**Business Hours:**
MonβFri: 9AM β 5PM AEST
- π§ Orders: [orders@auslanka.com.au](mailto:ausilk27@gmail.com)
- π€ Partnerships: [partnerships@auslanka.com.au](mailto:ausilk27@gmail.com)
- βοΈ Customer Support: +94 77 675 3242
---
## π Follow us:
- π [Facebook: facebook.com/auslankagrocery](https://www.facebook.com/people/Ausilk/61555664871422/?_rdr)
---
"Bringing the taste of home to every Sri Lankan in Australia" π±π°β€οΈπ¦πΊ