Aroma Ecommerce Template
A modern, feature-rich ecommerce template.
View the Deployed Live Version of the App:
This is the Live version here
Overview
Aroma is a complete ecommerce solution designed to provide seamless shopping experiences. Built with cutting-edge technologies like Next.js, TypeScript, and Tailwind , MongoDB, Prisma, and Shadcn CSS, it offers a robust platform for managing online stores with ease.
Key Features
-
Customer Features:
- Intuitive product browsing and search
- Advanced filters for categories and pricing
- Shopping cart with real-time updates
- Secure checkout with integrated payment gateways
- Responsive and fast-loading design
-
Admin Dashboard:
- Manage products and categories
- Monitor sales and analytics
- Process and track orders
- Customer management
- Manage promotions and discounts
- Multi-role authentication (Admin and Staff)
-
Core Functionalities:
- Authentication (NextAuth)
- Payment processing (Stripe/Paystack)
- Email notifications (Resend)
- Real-time analytics
- Dynamic product filtering
- Image optimization
Installation
Prerequisites
- Node.js 18.x or higher
- MongoDB database
- Stripe account
- Resend account
- Pusher account
- A code editor of your choice (e.g., Visual Studio Code, Sublime Text)
Installation Steps
Clone Repository
git clone https://github.com/yourusername/aroma-template.git
cd aroma-template
Install Dependencies
npm install
#You can use pnpm
Seed data
# Seed data
npm run seed
4. Start Development Server
npm run dev
Configuration Guide
Environment Setup
Create a .env
file in the root directory with the following variables:
# App
NEXT_PUBLIC_APP_URL=http://localhost:3000
# Database
DATABASE_URL="your-mongodb-url"
# Authentication
NEXTAUTH_SECRET="your-secret"
NEXTAUTH_URL="http://localhost:3000"
# Stripe
STRIPE_SECRET_KEY="your-stripe-secret"
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="your-stripe-publishable"
STRIPE_WEBHOOK_SECRET="your-webhook-secret"
# Email (Resend)
RESEND_API_KEY="your-resend-key"
# GitHub (Auth)
GITHUB_CLIENT_ID="your-client-id"
GITHUB_SECRET="your-secret-id"
# Google (Auth)
GOOGLE_CLIENT_ID="your-client-id"
GOOGLE_CLIENT_SECRET="your-secret-id"
# Uploadthing (Image Upload)
Uploadthing-Token ="your token"
Access the Application
Open your web browser and navigate to http://localhost:3000 (or the port specified in your environment setup).
You should now see the login page of your Medical App.
Default User Accounts
The seeding process creates three default user accounts for testing:
Deployment
- Admin
- Email: admin@admin.com
- Password: admin
- client
- Email: client@client.com
- Password: client
You can use these credentials to log in and explore different user roles within the application.
Production Deployment
Build Application
npm run build
Migrate
npx prisma migrate
Start Production Server
npm start
Deployment Platforms
The application can be deployed to:
- Vercel (Recommended)
- Railway
- AWS
- Digital Ocean
Support & Customization
Getting Help
For support and customization requests:
- Email Support: support@aroma-template.com
- Discord Community: Join our Discord
- GitHub Issues: Report bugs
Customization Services
We offer customization services to adapt project pro to your specific needs:
- Custom feature development
- UI/UX modifications
- Integration with existing systems
- Database migration
- Deployment assistance
Contact us at custom@aroma-template.com for customization inquiries.
Troubleshooting
Common Issues
-
Payment Processing Errors
# Verify Stripe webhook stripe listen --forward-to localhost:3000/api/payments/webhook
-
Database Connection Issues
# Test database connection npx prisma db pull
Need more help? Please Join Chat to talk with a real developer