Skip to content

This is a full stack MEAN ecommerce website that I created for my existing lingerie business

Notifications You must be signed in to change notification settings

athenacats/freakylinkweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The Freaky Link MEAN E-Commerce Website

Most Used Language [Angular] [Node.js] [Express.js] [MongoDB] [TypeScript] [JSON] [Postman]

[Code Size] LinkedIn Email

Table of Contents

Introduction

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.

Technologies

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

Setup

To run this project:

  • Clone the repository
  • Install dependencies and dev dependencies found in package.json
$ npm run prebuild
$ npm run build
$ npm start

Project Status

The project is complete.

Challenges Faced

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.

Future Implementation

  • 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

Acknowledgements

A huge source of reference was FreeCOdeCamp and Code With Nassir on Youtube.

Contact

Reach me on LinkedIn Email

Releases

No releases published

Packages

No packages published