DEV Community

Cover image for My First Project: A personal Ecommerce Website

Posted on

My First Project: A personal Ecommerce Website

Whoopssss: I built my first project as a developer..

This Project took a little over a month to conceptualize and complete.

The Tech stack used are: Python, Django, Postgres, HTML, CSS, JavaScript, AWS, Heroku.

Now down to the functionalities and features of the website

  • User Authentication and Authorization: Users can decide to create an account with their google, Facebook, Twitter account(I used Django allauth for this and the third party API’s) or users can just create an account with an email. Once user is logged on, they won’t have access to to login/signup page. Additionally, there is logic that enables Users who choose not to register to still go on with business.

User Auth

  • Add to Cart and Checkout: Users, both authenticated and unauthenticated, will be able to add and remove items from their carts before proceeding to checkout. A cookie was used to handle the checkout and cart page for an unauthenticated customer. Even if they leave the page for a while, their cart will still be intact.

Add to cart

  • Payment Integration: Payments can be made using a debit card or a PayPal account (I initially used paystack which worked perfectly , but I wanted something more universal). I am still looking at how to add more than one payment platform.


  • Visitors can subscribe to a newsletter by entering their name and email address, and the data is collected in the backend. There is also a functionality that checks if the email has already been used.

The Product Collections page is dynamically rendered, and I plan to add dynamic product details pages for each product later.

Challenges Faced:

  • The first issue was that after creating a customer / user, the customer was unable to access the collections, checkout, and cart page. I keep getting this error RelatedObjectDoesNotExist. After reading various documentation, research, and thinking, I finally conquered It in 3-4 days, with the solution being as simple as one line of code. I only had to create and assign the user.

  • Postgres and AWS: It took me three days to finally get this thing. Postgres keeps giving server connection error. AWS free tier charged my card I don’t know why(the small money I was managing)

  • There are many other challenges but let’s us leave it at this.

Well building this project really taught me what really happen on the backend. I can now say that building a project will really teach you a lot.. enough of blazing through tutorials, start building and make research.

Next Project should either be a portfolio website, CRUD app or Payroll management system(I was formerly an HR so this will be fun).

You can follow me on Twitter

Also check out my github profile: emmakolade

Thank you for reading through.

Top comments (0)