Majna: Revolutionizing E-Commerce
Welcome to Majna, the future of online retail. Designed to replace outdated platforms like OpenCart and WooCommerce, Shoopify, Majna offers a powerful, flexible, and user-friendly e-commerce solution for businesses of all sizes.
🚀 Key Features
- Intelligent Page Builder: Drag-and-drop interface for effortless site creation and management
- Multi-Vendor Support: Seamlessly scale from single store to marketplace
- AI-Powered Assistant: Get instant support and answers to your e-commerce queries
- Advanced Analytics: Real-time insights into sales, conversions, and customer behavior
- Customization: Easy-to-use tools for tailoring your store to your brand
- Multi-Currency Support: Sell globally with support for multiple currencies
- Multi-Language Capabilities: Reach diverse markets with multilingual storefronts
- RTL and Arabic Support: Cater to markets with right-to-left languages
- Customer and Vendor Ticketing System: Streamline communication and support
- Notifications System: Send emails and notifications to users from the admin panel
- Page Builder with Patterns: Create custom pages quickly and save reusable blocks
- Integrations: Add Google Analytics, Google Tags, and more (with future expansion planned)
- Plugin Ecosystem: Extend functionality with plugins (coming soon in v1)
- Themes and Layouts: Customize your store's look and feel (coming soon in v1)
- Data Sources: Connect to various data sources (coming soon in v1)
- Flexible Tax Management: Set taxes according to country or globally, tailored to your needs
- Customizable Shipping: Vendors can add shipping methods and set rates by country and state
- Comprehensive Reporting: Get detailed insights into your business performance
- Wallet System: Implement digital wallets for customers and vendors
- Vendor Withdrawals: Support multiple payout methods including PayPal and bank transfers and local wallets
- Backup and Logging: Ensure data safety with database backups and system logs
- Product Organization: Manage categories, subcategories, and brands efficiently
- Recommendation System: Boost sales with intelligent product suggestions
- Advanced Search: Utilize Meilisearch for fast, efficient searches on large datasets
- Voice Search: Enhance user experience with voice-activated search
- Performance Optimization: Implement Redis caching for improved speed
- Task Queue Management: Use BullMQ for efficient background task processing
- Mobile Applications: Dedicated apps for customers and vendors (in development)
- Follow System: Customers can follow vendors to stay updated on their latest offerings
- Vendor Posts and Promotions: Vendors can create posts and share promotions with followers
- Direct Messaging: Customers can communicate directly with vendors through the platform
Essential E-commerce Features
- Product Reviews and Ratings: Build trust and provide social proof with customer reviews
- Wishlist: Allow customers to save products for future purchases
- Order Tracking: Enable customers to track their orders in real-time
- Shopping Cart: User-friendly cart with persistent storage
- Checkout Process: Streamlined, multi-step checkout with various payment options
- Guest Checkout: Allow customers to make purchases without registration and track orders
- Inventory Management: Real-time stock tracking and automated notifications
- Discount and Coupon System: Create and manage promotional offers easily
- Related Products: Suggest complementary items to increase average order value
- Customer Accounts: Personalized dashboards for order history and preferences
- Mobile Responsiveness: Optimized shopping experience across all devices
💡 Why Choose Majna?
- Superior Flexibility: Build anything from a simple store to a complex marketplace
- User-Friendly Design: Intuitive interface eliminates steep learning curves
- Scalability: Grow your business without changing platforms
- Built-in Advanced Features: No need for multiple plugins or extensive modifications
- Cutting-Edge Technology: Stay ahead with AI assistance and real-time analytics
- Global Reach: Multi-currency and multi-language support for international markets
- Performance: Optimized for speed and efficiency with advanced caching and search capabilities
- Comprehensive E-commerce Toolkit: All essential features built-in, ready to use
- Mobile-First Approach: Dedicated mobile apps for customers and vendors
- Customizable Tax Management: Tailor your tax settings to your business needs and locations
- Flexible Shipping Options: Allow vendors to set up their own shipping methods and rates
- Enhanced Vendor-Customer Interaction: Follow system, vendor posts, and direct messaging for improved engagement
🌟 Mobile Applications
Majna is taking the mobile-first approach to the next level with dedicated applications:
- Customer App: Browse products, make purchases, track orders, and manage accounts on-the-go (in development)
- Vendor App: Manage inventory, process orders, and track sales from anywhere (comming soon)
- Real-Time Sync: Seamless integration between web and mobile platforms (comming soon in v1)
- Push Notifications: Keep users informed about order status, promotions, and more
- Mobile-Optimized UX: Intuitive design for effortless mobile shopping and management
💰 Flexible Tax Management
Majna provides a powerful and flexible tax management system to suit your business needs:
- Country-Specific Taxes: Set different tax rates for individual countries
- Global Tax Rates: Apply a universal tax rate across all transactions
- Automatic Calculations: Accurate tax calculations based on your configured rules
Set taxes on your sales as you wish according to the country or for all countries - it's all your choice with Majna's adaptable tax management system.
🚚 Customizable Shipping Options
Majna empowers vendors with flexible shipping capabilities:
- Multiple Shipping Methods: Vendors can create and offer various shipping options
- Geographic Customization: Set shipping rates based on countries and states/provinces
- Flat Rate or Variable: Choose between flat-rate shipping or variable rates based on order weight, value, or item count
- Free Shipping Thresholds: Set minimum order values for free shipping
- Shipping Restrictions: Define shipping availability based on customer locations
Vendors have full control over their shipping strategies, allowing them to optimize costs and improve customer satisfaction.
🤝 Support
Join our Telegram group for community support, discussions, and the latest updates:
🔒 Privacy and Security
At Majna, we prioritize the security and privacy of your data. Our comprehensive approach ensures that your e-commerce platform remains safe and compliant:
- Data Encryption: All data is encrypted in transit and we using strong encryption algorithms to protect users data.
- Regular Security Audits: We conduct frequent internal and external security audits to identify and address potential vulnerabilities.
- Compliance: Majna adheres to global data protection regulations, including GDPR and CCPA.
- Access Control: Robust authentication measures and role-based access control protect your data from unauthorized access.
- Backup and Recovery: Automated backup systems ensure your data is safe and can be quickly recovered in case of any incidents.
For more detailed information about our privacy and security measures, please visit our Privacy and Security Documentation.
📈 Roadmap
We're constantly improving Majna. Check out our public roadmap to see what's coming next and vote on future features:
💬 Feedback
Your input is crucial in shaping the future of Majna. Have an idea or suggestion? We'd love to hear from you:
Preinstallation
Prerequisites
Before beginning the installation, ensure you have:
System Requirements
- Operating System: Debian 12 or Ubuntu 22.04 LTS
- Memory: Minimum 4GB RAM
- CPU: 2 cores or more
- Network: 1 Gbit/s bandwidth or higher
- Storage:
- Minimum 20GB SSD (NVMe preferred) for standard installation
- Minimum 100GB SSD if using local storage
- Domain name
Recommended Cloud Providers
Provider | Strengths | Best For |
---|---|---|
Hetzner | Excellent price-to-performance ratio | Development and medium-scale production |
Contabo | Budget-friendly | Development and testing |
IBM Cloud | Enterprise-grade infrastructure | Large-scale production deployments |
Note: When provisioning your server, select Debian 12 or Ubuntu 22.04 LTS as your operating system.
Domain Registration
Purchase a domain from any reputable registrar such as:
- Cloudflare (Recommended for built-in CDN and security features)
- Namecheap
- GoDaddy
Setup Instructions
1. DNS Configuration
Configure your domain's DNS settings to point to your server:
- Locate your server's IP address from your cloud provider's dashboard
- Add the following DNS records:
Record Type | Name | Value | Purpose |
---|---|---|---|
A | api | Your server's IP | Maps API subdomain to server |
CNAME | api | yourdomain.com | Creates API subdomain alias |
Example configuration for yourdomain.com
:
Type Name Value
A api 203.0.113.1
CNAME api yourdomain.com
Important: DNS changes may take up to 48 hours to propagate globally, though typically complete within 15-30 minutes.
2. Web Server Installation
We use Caddy as the web server for its:
- Automatic HTTPS certificate provisioning
- Modern security defaults
- Simple configuration syntax
Connect to your server via SSH:
ssh root@your-server-ip
Install Caddy
# Update package index and install prerequisites
sudo apt update
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
# Add Caddy repository
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | \
sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | \
sudo tee /etc/apt/sources.list.d/caddy-stable.list
# Install Caddy
sudo apt update
sudo apt install caddy
Configure Caddy
- Create the configuration file:
sudo nano /etc/caddy/Caddyfile
- Add the following configuration:
{$YOUR_SUBDOMAIN_NAME} {
reverse_proxy localhost:3000
encode gzip
}
{$YOUR_DOMAIN_NAME} {
# Meilisearch endpoint
handle /indexes/* {
reverse_proxy localhost:7700 {
header_up Host {http.reverse_proxy.upstream.hostport}
}
}
# Main application
handle /* {
reverse_proxy localhost:3001
}
encode gzip
}
- Replace the placeholders:
{$YOUR_SUBDOMAIN_NAME}
: Your API subdomain (e.g.,api.yourdomain.com
){$YOUR_DOMAIN_NAME}
: Your main domain (e.g.,yourdomain.com
)
- Apply the configuration:
sudo systemctl reload caddy
Note: Caddy will automatically obtain and manage SSL certificates from Let's Encrypt.
Verification
To verify your setup:
- Check Caddy status:
sudo systemctl status caddy
- Verify DNS resolution:
dig +short yourdomain.com
dig +short api.yourdomain.com
- Test HTTPS accessibility:
curl -I https://yourdomain.com
curl -I https://api.yourdomain.com
Troubleshooting
Common issues and solutions:
- DNS not resolving: Wait for DNS propagation or verify DNS records
- Caddy not starting: Check logs with
sudo journalctl -u caddy
- SSL certificate issues: Ensure ports 80 and 443 are accessible
Ports Not Accessible
Ensure ports 80 and 443 are accessible:
# Configure firewall
sudo apt install ufw
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
For additional support, check the Caddy documentation or open an issue in our repository.
Installation
1. Upload Your Majna script
after download majna script from Majna website or Codecanyon:
- Visit tmpfiles.org
- Upload your script (e.g.,
majna-latest.zip
) - After upload completes, copy the download URL
2 Download and Install
# Download Majna using the temporary URL
curl -L "YOUR_TMPFILES_DOWNLOAD_URL" -o majna.zip
# Install unzip if not already installed
sudo apt update
sudo apt install unzip -y
# Extract the files
unzip majna.zip
# Navigate to the extracted directory
cd majna-*
# Make these files executable
chmod +x ./install.sh && chmod +x ./update-env.sh
# Run Update Environments script
# This script will ask you for website URL, api URL you must be read the previous step
./update-env.sh
# Run installation script, if you see some prompts, enter y(yes).
./install.sh
2. Accessing Your Installation
After successful installation:
- Access to your website:
https://yourdomain.com/auth/signup
- Create an account, first account will be the admin account
- Login to your account
- Congratulations! You've successfully installed Majna!
Troubleshooting
Common issues and solutions:
-
Process Management
# Restart application pm2 restart all # View detailed logs pm2 logs --lines 100
-
Network Issues
# Check if ports are open sudo netstat -tulpn | grep LISTEN
Maintenance
Regular maintenance tasks:
- Monitor
# View resource usage pm2 monit
For additional support or troubleshooting, please refer to the official Majna documentation or contact support with your license key ready.
AI Integration in Majna eCommerce
Majna eCommerce leverages the power of AI to enhance the user experience and provide personalized recommendations. We use the Claude AI assistant from Anthropic to power our AI-driven features.
Configuring the AI Assistant
To get started with the AI Assistant in Majna eCommerce, follow these steps:
-
Create an Anthropic Account: Visit the Anthropic Console and sign up for a new account.
-
Generate API Keys: After signing up, add funds to your Anthropic account (a credit card is required). Once funds are added, navigate to the dashboard and click the "Get API Keys" button. This will open a modal where you can create a new API key.
- In the "Name" field, enter a descriptive name for your API key.
- Select the appropriate workspace.
- Click the "Add" button to generate the API key.
- Click the "Copy Key" button to copy the generated API key.
-
Configure the AI Assistant in Majna eCommerce: In the Majna Admin Panel, go to "Settings" > "Copilot" and follow these steps:
- Paste the copied API key into the "API Key" field.
- In the "Model" field, enter
claude-3-sonnet-20240229
. - Enable the "Copilot Status" toggle.
- Click the "Save Changes" button to apply the settings.
After completing these steps, the AI Assistant is now configured and ready to use in Majna eCommerce.
Integrating Payments in Majna eCommerce
Majna eCommerce supports integrations with popular payment gateways, including Stripe and Square. Follow the steps below to obtain the required keys and IDs for each payment provider.
Stripe Integration
To integrate Stripe payments in Majna eCommerce, you'll need to obtain the Publishable Key, Secret Key, and Webhook Secret.
-
Create a Stripe Account: If you don't have one already, sign up for a new Stripe account at stripe.com.
-
Obtain the Publishable Key and Secret Key:
- Log in to your Stripe dashboard.
- Navigate to the "Developers" section, then click on "API keys".
- You will see two sets of keys: "Publishable key" and "Secret key". Copy both of these keys.
-
Obtain the Webhook Secret:
- In the Stripe dashboard, go to the "Developers" section and click on "Webhooks".
- Click on the "Add endpoint" button.
- Enter the URL for your Majna eCommerce site's webhook endpoint (e.g.,
https://your-majna-site.com/webhook/stripe
). - Select the events you want to listen for (at a minimum, enable "payment_intent.succeeded" and "payment_method.attached").
- Copy the "Signing secret" value. This is your Webhook Secret.
Once you have the Publishable Key, Secret Key, and Webhook Secret, you can proceed to configure them in the Majna Admin Panel in the Settings Page you will find the Payments tab.
Square Integration
To integrate Square payments in Majna eCommerce, you'll need to obtain the Application ID, Access Token, and Location ID.
-
Create a Square Account: If you don't have one already, sign up for a new Square account at square.com.
-
Obtain the Application ID and Access Token:
- Log in to your Square Dashboard.
- Navigate to the "Developer" section, then click on "Applications".
- Click on the "Create API application" button.
- Fill out the application form and click "Create application".
- Copy the "Application ID" and the "Access Token" values.
-
Obtain the Location ID:
- In the Square Dashboard, go to the "Locations" section.
- Copy the "Location ID" value for the location you want to use for Majna eCommerce.
With the Application ID, Access Token, and Location ID, you can proceed to configure the Square integration in the Majna Admin Panel in the Settings Page you will find the Payments tab.
Remember to keep your API keys, secrets, and IDs secure, as they provide access to your payment processing. Refer to the Majna eCommerce documentation for detailed instructions on how to configure the Stripe and Square integrations in your admin panel.
Mollie Integration
To integrate Mollie payments in Majna eCommerce, you'll need to obtain the Api Key and Webhook URL.
-
Create a Mollie Account: If you don't have one already, sign up for a new Mollie account at mollie.com.
-
Obtain the Api Key:
- Log in to your Mollie dashboard.
- Navigate to the "Developers" section, you will find it when you click on more button in the top header.
- Now you will see 'Live API key' and 'Test API key'. Copy the 'Live API key'.
- Now go to Majna Admin Panel and paste the 'Live API key' in the Api key and in Webhook URL paste the webhook url of your Majna API (Read Preinstallation Section), for example,
https://your-api-subdomain.majna.com/payments/mollie/webhook
. - Click on the 'Save Changes' button.
Privacy and Security in Majna eCommerce
In today's digital age, ensuring privacy and security in e-commerce is crucial. At Majna, we prioritize protecting our customers' data and transactions. Here's a comprehensive look at our security measures and tech stack.
Backend Security
Authentication & Password Security
- Argon2 Hashing: We use Argon2, a robust hashing algorithm, for securely storing passwords
- Rate Limiting:
- Maximum 50 requests per IP address per 15 minutes for login attempts
- API rate limiting using Redis for tracking request counts
- Custom rate limits for sensitive endpoints
CORS (Cross-Origin Resource Sharing)
- Strict CORS policy implementation
- Whitelist of allowed origins
- Blocked unauthorized cross-origin requests
- Proper configuration of allowed methods and headers.
CSRF Protection
- CSRF tokens required for all state-changing operations
- Double Submit Cookie pattern implementation
- SameSite cookie attributes set to 'Strict'
- Token rotation on authentication state changes
XSS (Cross-Site Scripting) Prevention
- Content Security Policy (CSP) headers
- Input sanitization on all user-supplied data
- Output encoding for HTML, JavaScript, CSS, and URLs
- HTTP-only cookies for sensitive data
- Strict TypeScript typing to prevent injection vulnerabilities
Data Protection
Encryption
- TLS 1.3 for all communications
- Data encryption at rest using AES-256
- Database encryption for sensitive fields
- Secure key management system
Session Management
- Secure session handling with Redis
- Session timeout after 30 minutes of inactivity
- Automatic session invalidation on password changes
- Device fingerprinting for suspicious activity detection
Secure Payments
Payment Processing
- Integration with trusted platforms:
- Stripe
- Square
- Mollie
- PayPal
- PCI DSS compliance measures
- Tokenization of payment information
- Real-time fraud detection
Transaction Verification
- Multi-step verification process
- Transaction logging and monitoring
- Automated reconciliation
- Chargeback protection mechanisms
API Security
API Authentication
- JWT with short expiration times
- OAuth 2.0 implementation
- API key rotation policy
- Scope-based access control
Request Validation
- Schema validation for all requests
- Input size limits
- Content type verification
- SQL injection prevention
Monitoring and Incident Response
Security Monitoring
- Real-time security event logging
- Automated threat detection
- Regular security audits
- Intrusion detection system (IDS)
Incident Response
- Documented incident response plan
- 24/7 security team availability
- Automated alerts for suspicious activities
- Regular incident response drills
Compliance and Standards
Regulatory Compliance
- GDPR compliance
- CCPA compliance
- Local data protection laws
- Regular compliance audits
Security Standards
- OWASP Top 10 compliance
- Regular penetration testing
- Vulnerability scanning
- Security awareness training
Continuous Improvement
We maintain a proactive approach to security:
- Regular security assessments
- Continuous monitoring and updates
- Staff security training
- Partnership with security researchers
Data Privacy
User Data Protection
- Minimal data collection policy
- Clear data retention policies
- User consent management
- Right to be forgotten implementation
Third-Party Integration Security
- Vendor security assessment
- Data processing agreements
- Regular vendor security reviews
- Limited data sharing
At Majna, your privacy and security are our top priorities. We continuously invest in maintaining and improving our security measures to provide a safe and reliable shopping experience.