- Introduction
- Technologies
- Setup
- Project Status
- Challenges Faced
- Future Implementation
- Acknowledgements
- Contact
This is a full stack MEAN ecommerce website that I created for my existing lingerie & adult toy business. As of the time of writing this, I am yet to make it open to customers to place orders, but it already has some products uploaded and users can register and place orders using a Paypal Sandbox account. All functionalities have been implemented so once ready, I shall transfer it to my existing domain thefreakylink and pay for higher database storage.
To see the website in action, click here. Please note it takes the website some time to load up as it is hosted on the free plan.
The application runs on:
- Angular 16.1.4
- Bootstrap 5.3.0
- Leaflet 1.9.4
- Mongoose 7.3.2
- Express 4.18.2
- Nodemon 3.0.0
As well as other dependencies and dev dependencies as detailed in the package.json. THe site is hosted on the free plan of Render.com
To run this project:
- Clone the repository
- Install dependencies and dev dependencies found in package.json
$ npm run prebuild
$ npm run build
$ npm start
The project is complete.
Everything was new to me in the backend and it took me a while to understand how to run requests and link the frontend to the backend. I experienced difficulties in sending requests to read user's orders from the database, which I later on found how to solve. CORS implementation for the deployed website was also problemantic, but I found the bug that caused the issue.
Since the website currency is in KES, it proved impossible to find a free API that would allow users to place orders and pay in KES, which forced me to hardcode an exchange rate. This is easily fixable if I decide to pay for a currency exchange subscription, or if I pay for the Kenyan payment provider IPay api.
- Allow user to change their details from the profile page
- Include email service notifying admin and users of orders/new registrations
- Add additional products to the rest of the categories (i.e. For Him, For Her, Accessories)
- Predictive search box
- Mpesa API either from Safaricom or IPay for Kenyan Users (once site is launched)
- Subscribe to currency exchange API so that KES can be used as base currency
A huge source of reference was FreeCOdeCamp and Code With Nassir on Youtube.