BuyOne is a full-stack e-commerce platform consisting of two main apps:
- admin-panel: Admin dashboard for managing products, categories, and users.
- frontend: Customer-facing storefront for browsing and purchasing products.
- Next.js (App Router)
- React
- Tailwind CSS
- MongoDB (via Mongoose)
- NextAuth.js (authentication)
- AWS S3 (image/file uploads)
- UI Libraries: MUI, NextUI, HeadlessUI, Radix UI, Lucide, FontAwesome
admin-panel/
src/
app/
api/ # REST API routes (auth, aws, categories, products)
categories/ # Admin category management pages
products/ # Admin product management pages
profile/ # Admin profile page
components/ # Reusable UI components
lib/ # Utility libraries (auth, aws, db, etc)
frontend/
src/
app/ # Storefront pages (home, details, etc)
components/ # Storefront UI components
lib/ # Utility functions
- Authentication (NextAuth.js, MongoDB adapter)
- Manage products & categories (CRUD)
- AWS S3 integration for image uploads
- Responsive dashboard UI
- Product listing & details
- Featured products, hero section, footer, etc
- Modern, responsive design
- Node.js >= 18
- MongoDB instance
- AWS S3 credentials (for image uploads)
- Clone the repo:
git clone https://github.com/sirajahmedx/buyone.git cd buyone - Install dependencies for both apps:
cd admin-panel && npm install cd ../frontend && npm install
- Configure environment variables:
- Create
.env.localfiles in bothadmin-panelandfrontendwith MongoDB, AWS, and Auth settings.
- Create
- Run development servers:
cd admin-panel && npm run dev cd ../frontend && npm run dev
npm run dev— Start development servernpm run build— Build for productionnpm run start— Start production servernpm run lint— Lint code
- Both apps can be deployed separately (e.g., Vercel, Netlify)
- See Next.js deployment docs
MIT
For more details, see the individual README.md files in admin-panel and frontend.