Skip to content

Latest commit

Β 

History

1,319 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌸 Aloura – A Full-Stack E-Commerce Platform for a Real-World Fragrance Startup

Aloura Logo

License Node.js MongoDB Express.js

🌐 Instagram: @aloura.eg


πŸ“‹ Table of Contents


πŸ“– Project Overview

Live Demo

Aloura is a feature-rich fragrance e-commerce platform developed as part of a comprehensive Web Development course & for a real-world startup. This project demonstrates modern web development practices, creating a real-world experience for luxury fragrance retail.

🎯 Purpose & Vision

  • Target Audience: Fragrance enthusiasts, gift buyers, and luxury product consumers
  • Value Proposition: Curated premium fragrances with personalized recommendations and seamless shopping experience
  • Business Model: B2C e-commerce with admin management system

✨ Key Highlights

  • Real-World Startup: Fully functional e-commerce platform for Aloura fragrance business
  • Advanced Authentication: Google OAuth, SMS/Email verification, secure JWT implementation
  • AI-Powered Features: Intelligent chatbot assistance and personalized fragrance quiz recommendations
  • Premium User Experience: Dark mode, fluid cursor animations, multi-language support
  • Secure Commerce: Real credit card validation with BIN verification and encrypted checkout
  • Business Intelligence: Comprehensive admin dashboard with subscriber management and analytics
  • Gift Solutions: Complete gifting system with personalized cards and wrapping options
  • Modern Tech Stack: Full-stack JavaScript with NodeJS, MongoDB, Express.js, and AWS deployment

πŸ› οΈ Technology Stack

Core Technologies

  • HTML5/CSS3/JavaScript - Modern web fundamentals with ES6+ features
  • Node.js & Express.js - Server-side runtime and web framework
  • EJS - Dynamic templating engine for server-side rendering
  • MongoDB & Mongoose - NoSQL database with elegant object modeling

Key Integrations & Tools

  • Bootstrap 5 - Responsive CSS framework
  • Font Awesome - Comprehensive icon library
  • JWT & Passport.js - Authentication with Google OAuth
  • Multer - File upload handling
  • Google Generative AI - AI chatbot and recommendations
  • Twilio & Nodemailer - SMS and email services
  • bcrypt - Password encryption and security

🎨 Aloura Experience Showcase

🏠 Hero Section & Landing Page

hero-section.mp4
landing-page.mp4

Immersive homepage experience featuring dynamic hero carousel, featured fragrances, customer testimonials, and newsletter subscription with automated welcome emails. Showcases fluid cursor animations and seamless navigation.


πŸ›’ All Fragrances Catalog

all-fragrances.mp4

Comprehensive product browsing with advanced filtering, search functionality, and responsive grid layouts. Real-time search suggestions and intelligent product recommendations enhance the shopping experience.


πŸ“± Product Detail Page

fragrances-page.mp4

Rich product showcase with high-resolution image galleries, detailed fragrance notes, size selection, and customer reviews. Features dynamic pricing and stock validation with add-to-cart functionality.


🎁 Gifting Experience

gifting.mp4

Complete gifting solution with personalized greeting cards, gift wrapping options, recipient management, and special delivery scheduling. Custom pricing for gift packages with preview functionality.


🌟 Collections Gallery

collections.mp4

Curated fragrance collections with thematic organization, visual storytelling, and interactive browsing experience. Features collection-specific filtering and recommendations.


🧠 Fragrance Quiz

πŸ“Έ Screenshots:

Image

Image

Image

Image

Image

Interactive questionnaire with a smart algorithm that analyzes preferences and suggests perfect matches with detailed explanations.


Our Story Page

our-story.mp4

Brand narrative showcase with visual storytelling, company values, and mission statement. Features engaging animations and responsive design for brand connection.


User Authentication Modals

user-auth-modals.mp4

Comprehensive authentication system with login, signup, and password reset functionality. Features Google OAuth integration, SMS/Email verification, and secure form validation with real-time feedback.


Cart & Checkout System

πŸ“Έ Screenshots:

Image

Image

Image

Streamlined shopping cart with persistent storage and secure checkout process. Features real credit card validation with BIN verification, multiple payment options, and order confirmation system.


User Account & Orders

Image

user-orders.mp4

Complete user profile management with order history, tracking, and reorder functionality. Features profile customization, notification preferences, and order status updates.


πŸ“Š Admin Dashboard Suite

admin.dashboard.mp4

Comprehensive admin control panel with analytics, product management, user administration, and order processing. Features real-time data visualization, bulk operations, and advanced reporting tools.


⭐ User Reviews System

πŸ“Έ Screenshot:

Image

Interactive review and rating system with moderation tools, detailed feedback forms, and review analytics. Features verified purchase validation and helpful review sorting.


πŸš€ Advanced Features

SMS & Email Integration

πŸ“Έ Screenshots:

Image

Image

Automated communication system with Twilio SMS and Nodemailer email services for order confirmations, password resets, and marketing campaigns.

πŸ€– AI Chatbot Assistant

πŸ“Έ Screenshot:

Image

Google Generative AI-powered chatbot providing intelligent customer support, product recommendations, and order assistance with natural language processing.

πŸŒ™ Dark Mode & Theming

dark-mode.mp4

Dynamic theme switching with dark mode support, preserving user preferences across sessions with smooth transitions and optimal contrast ratios.

🌍 Multi-language Support

πŸ“Έ Screenshot:

Image

Internationalization features supporting multiple languages with dynamic content translation and localized user experiences.

πŸ“¬ Subscriber Management

πŸ“Έ Screenshot:

Image

Advanced newsletter subscription system with automated welcome sequences, segmentation, and unsubscribe management for marketing campaigns.

πŸ“ˆ SEO Discoverability

πŸ“Έ Screenshot:

SEO Discoverability

Aloura leverages advanced SEO strategies: structured metadata, keyword-rich URLs, sitemaps, and responsive design to achieve top Google rankings and maximize organic reach in Egypt and beyond.

☁️ AWS Cloud Deployment

Professional cloud deployment (EC2) on AWS infrastructure with scalable architecture, load balancing, and automated backups for enterprise-grade reliability.

πŸ’³ Secure Payment Validation

Advanced credit card validation using BIN (Bank Identification Number) verification, Luhn algorithm checking, and real-time card type detection for secure transactions.

✨ Fluid Cursor Animations

Interactive cursor effects and micro-animations enhance user engagement through smooth transitions, hover effects, and visual feedback throughout the interface.

βš™οΈ Fluid cursor animations are conditionally enabled based on estimated device specifications:*

  • GPU availability (integrated or dedicated)
  • CPU core count
  • RAM capacity

These checks are estimated and may not always be accurate. Additionally, the effect is automatically disabled on mobile devices to ensure performance.


βš™οΈ Installation & Setup

Prerequisites

  • Node.js (v16.0 or higher)
  • MongoDB (v4.4 or higher)
  • npm or yarn package manager
  • Git for version control

Step-by-Step Installation

  1. Clone the Repository

    git clone <repository_url>
    cd Aloura-MIU
  2. Install Dependencies

    npm install
  3. Environment Configuration Create a .env (through .env.example) file in the root directory (fill up with your personal API Keys)

  4. Database Setup Set up MongoDB either locally or remotely, then set the MONGO_DB_URI in .env

  5. Run The Application

    nodemon index.js 
  6. Access the Application

    • Frontend: http://localhost:3000
    • Admin Panel: http://localhost:3000/admin/{admin_user_id}

Additional Setup Steps

  • Create Admin User: Register a new user and manually change their role to "admin" in the database

πŸ‘₯ Team Members

Aloura Development Team

All team members contributed collaboratively to the development of this real-world startup e-commerce platform.


πŸ“ Project Structure

Aloura-MIU/
β”œβ”€β”€ πŸ“ config/                 # Configuration files
β”‚   β”œβ”€β”€ db.js                  # Database connection
β”‚   β”œβ”€β”€ passport.js            # Passport.js configuration
β”‚   └── secrets.js             # Environment variables
β”œβ”€β”€ πŸ“ controllers/            # Business logic controllers
β”‚   β”œβ”€β”€ auth.js                # Authentication logic
β”‚   β”œβ”€β”€ chatbot.js             # AI chatbot functionality
β”‚   β”œβ”€β”€ fragrance.js           # Product management
β”‚   β”œβ”€β”€ frontend.js            # Frontend route handlers
β”‚   β”œβ”€β”€ gifting.js             # Gift functionality
β”‚   β”œβ”€β”€ order.js               # Order processing
β”‚   β”œβ”€β”€ review.js              # Review system
β”‚   └── users.js               # User management
β”œβ”€β”€ πŸ“ middleware/             # Custom middleware
β”‚   β”œβ”€β”€ auth.js                # Authentication middleware
β”‚   └── multer.js              # File upload middleware
β”œβ”€β”€ πŸ“ models/                 # Database models (Mongoose schemas)
β”‚   β”œβ”€β”€ fragrance.js           # Product model
β”‚   β”œβ”€β”€ order.js               # Order model
β”‚   β”œβ”€β”€ review.js              # Review model
β”‚   └── user.js                # User model
β”œβ”€β”€ πŸ“ public/                 # Static assets
β”‚   β”œβ”€β”€ πŸ“ css/                # Stylesheets
β”‚   β”œβ”€β”€ πŸ“ js/                 # Client-side JavaScript
β”‚   β”œβ”€β”€ πŸ“ img/                # Images and media
β”‚   β”œβ”€β”€ πŸ“ fonts/              # Web fonts
β”‚   └── πŸ“ uploads/            # User uploaded files
β”œβ”€β”€ πŸ“ routes/                 # API route definitions
β”‚   β”œβ”€β”€ auth.js                # Authentication routes
β”‚   β”œβ”€β”€ chatbot.js             # Chatbot routes
β”‚   β”œβ”€β”€ fragrance.js           # Product routes
β”‚   β”œβ”€β”€ frontend.js            # Frontend routes
β”‚   β”œβ”€β”€ gifting.js             # Gifting routes
β”‚   β”œβ”€β”€ order.js               # Order routes
β”‚   β”œβ”€β”€ quiz.js                # Quiz routes
β”‚   β”œβ”€β”€ review.js              # Review routes
β”‚   └── users.js               # User routes
β”œβ”€β”€ πŸ“ utilities/              # Utility functions
β”‚   β”œβ”€β”€ emailService.js        # Email functionality
β”‚   β”œβ”€β”€ emailtemplates.js      # Email templates
β”‚   β”œβ”€β”€ smsService.js          # SMS functionality
β”‚   └── twilio.js              # Twilio integration
β”œβ”€β”€ πŸ“ views/                  # EJS templates
β”‚   β”œβ”€β”€ πŸ“ admin/              # Admin panel views
β”‚   β”œβ”€β”€ πŸ“ partials/           # Reusable template components
β”‚   β”œβ”€β”€ index.ejs              # Homepage
β”‚   β”œβ”€β”€ all-fragrances.ejs     # Product catalog
β”‚   β”œβ”€β”€ checkout.ejs           # Checkout page
β”‚   └── [other views...]       # Additional pages
β”œβ”€β”€ πŸ“ Documents/              # Project documentation
β”œβ”€β”€ index.js                   # Application entry point
β”œβ”€β”€ package.json               # Dependencies and scripts
β”œβ”€β”€ README.md                  # Project documentation
└── .env.example               # Environment variables template

Key Directory Explanations

  • /config: Contains configuration files for database connection, authentication strategies, and environment variables
  • /controllers: Houses the business logic for different features, following MVC pattern
  • /middleware: Custom Express.js middleware for authentication, file uploads, and request processing
  • /models: Mongoose schemas defining the structure of data stored in MongoDB
  • /public: Static assets served directly by Express.js including stylesheets, client-side JavaScript, and media files
  • /routes: Express.js route definitions organizing API endpoints by feature
  • /utilities: Helper functions and services for email, SMS, and other integrations
  • /views: EJS templates for server-side rendering of HTML pages

🀝 Contributing

We welcome contributions to the Aloura project!

Quick Start:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please follow existing code conventions and test your changes thoroughly.


πŸ“„ License

This project is licensed under the AGPL-3.0 License - see the LICENSE file for details.


🌸 Thank you for exploring Aloura! 🌸

Built with ❀️ by the Aloura Development Team

Instagram β€’ Email β€’ GitHub

About

A live, production-ready fragrance e-commerce platform built for a real-world startup. Developed using HTML, CSS, JavaScript, Node.js, Express.js, EJS, and MongoDB by a team of five as part of a comprehensive Web Development course.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages