LaceVista is a full-stack e-commerce platform for shoes, built using modern web technologies. It features a dynamic product catalog, responsive design, integrated chatbot assistant, and follows the MVC architecture for maintainability and scalability.
- Fully responsive UI with elegant design
- Smooth background transitions with auto-cycling hero images
- Integrated chatbot assistant (LaceBot)
- Home
- Shop
- About Us
- Login
- Signup
- Checkout
- Signup and login functionality
- Email-based OTP verification field added during registration
- Checkout form includes:
- First Name, Last Name
- Email, Mobile Number
- Shoe Measurements:
- Length (cm)
- Width (cm)
- Arch (cm)
- All fields validated on the client-side before submission
- Responds to user queries like:
- "Shipping"
- "Returns"
- "Shoes under $150"
- Admin dashboard to view submitted orders
- Columns include:
- Item Name/Number
- Quantity
- Total Amount
controllers/– Application logic (chatbot, orders, etc.)routes/– Navigation and API endpointsviews/– EJS templates for UI renderingpublic/– Static assets: stylesheets, scripts, imagesapp.js– Main server file
- EJS
- Materialize CSS
- JavaScript
- Node.js
- Express.js
- MongoDB
- express-session
- Git & GitHub (Version Control)
- Trello (Project Management)
This project includes comprehensive testing across both end-to-end (E2E) functionality and automated UI workflows using Mocha, Chai, and Cypress.
Mocha and Chai were used to validate the complete backend and controller logic.
These tools support behavior-driven development (BDD) and allow writing structured test suites to verify business logic, route responses, and controller operations. The tests were run in a Node.js environment and covered all core user scenarios like registration, login, and form submission, ensuring accurate backend behavior and security handling.
- ✅ User Authentication (Signup, Login)
- ✅ Admin Order Management
- ✅ Checkout Form Submissions
- ✅ Controller and Route Handling
Cypress was used to implement automated front-end testing to simulate real user interactions in a browser environment.
Cypress is a next-generation testing tool built specifically for modern web applications. It runs directly in the browser, allowing full control over the DOM, network requests, and browser behavior. For this project, Cypress was used to validate UI workflows such as navigating the site, signing up, logging in, viewing products, completing a checkout, and interacting with the chatbot. Its real-time reloading, time-travel debugging, and in-browser test runner made it ideal for verifying the user experience in a dynamic web interface.
- ✅ Home Page Load & Navigation
- ✅ Signup and Login Flow
- ✅ Product Browsing and Shop Page
- ✅ Checkout Process Validation
- ✅ Admin Dashboard Access
- ✅ Chatbot Interaction Testing (LaceBot)
To run the LaceVista application locally, a few simple setup steps are required. These ensure that all necessary dependencies are installed, the application is properly configured, and the development server is running.
git clone https://github.com/Jaykumar677/LaceVista.git cd LaceVista
npm install
node app.js