The inspiration for this project came from my wife's humorous remarks over the years, which I thought deserved a spot on a t-shirt. When the opportunity arose to create a website, I saw it as a perfect chance to dive into the world of e-commerce web development. I've designed an e-commerce platform specializing in selling t-shirts and mugs featuring witty and quirky quotes. Visitors can select item quantities and sizes for t-shirts, seamlessly adding items to their shopping cart while they continue to explore. The user-friendly shopping cart allows customers to adjust item quantities and remove products as needed. From there, they can smoothly transition to the secure checkout, where they provide contact and payment details. The checkout process includes a final product summary before the user confirms their purchase, complete with an order ID and total price. Additionally, I've included a contact page with contact details and a feedback form. Despite my primary focus on backend development, this project provided an opportunity to refine my HTML and CSS skills. I also prioritized design consistency, ensuring uniform colors and page layouts throughout the website.
I opted to utilize Django's session framework to manage user shopping carts, enhancing my understanding of handling data requests with sessions. This approach delivered a smoother user experience compared to customer login and authorization, eliminating unnecessary hurdles in the shopping process. User session IDs establish a secure link between users and their session information stored in the server database.
Throughout the development process, I didn't really face too many challenges making this project. The only thing would be applying user sessions for the first time and taking my time to learn how it works and how to implement it correctly. The rest of the project continued to strengthen my skills, problem solving abilities and approach to building an application methodically.
Looking ahead, there are several improvements I would consider for future iterations. Integrate Stripe Payment API's test mode: Implementing Stripe's test mode for the checkout page would enhance payment processing security during development and testing phases. Implement customer login functionality: Offering users the option to create accounts and save their information for future visits would enhance convenience and encourage repeat business. Introduce sales and discounts: Consider implementing special promotions and discounts for specific products to attract more customers. Expand product variety: Expanding the product range with more options, including different colors and styles, can broaden the appeal of the e-commerce platform and cater to diverse customer preferences.