Thrive 1.0 - Interview
Programming Project: "E-commerce Online Store"
The “E-commerce Online Store” project offers you the opportunity to showcase your programming skills by creating a web-based e-commerce platform. In this 10-hour project, you will develop an online store where users can browse products, add items to their cart, and complete purchases. Whether you choose to work with Python or PHP, this project focuses on server-side scripting, database interactions, user authentication, and responsive web design.
Product Catalog: Build a catalog of products, each with details like name, price, and description.
User Registration and Authentication: Implement user registration, login, and logout functionality.
Shopping Cart: Create a shopping cart feature that allows users to add and remove items.
Checkout Process: Develop a straightforward checkout process for users to finalize their purchases.
Database Integration: Utilize a suitable database system based on your chosen language (Python: SQLite, PostgreSQL, PHP: MySQL) to store product information, user data, and order history.
Security: Prioritize security measures to protect user data and ensure secure transactions.
Responsive Design: Ensure the website is responsive, accessible, and visually appealing on various devices.
If working with Python, use Python for server-side scripting. If working with PHP, use PHP.
Employ a database system appropriate for your chosen language (Python: SQLite, PostgreSQL, PHP: MySQL) to store and manage data.
Implement user registration and login functionality.
Develop a secure payment processing system, either by using sandbox APIs or a trusted third-party payment library (e.g., Stripe).
Create an intuitive and user-friendly web interface for interacting with the online store.
Your project will be evaluated based on the following criteria:
Functionality: How well the online store performs core e-commerce functions, including product catalog management, user registration and authentication, shopping cart functionality, and secure checkout.
Code Quality: The organization, readability, and adherence to best practices in your chosen programming language (Python or PHP). This includes code structure, naming conventions, and comments.
User Experience: The usability, responsiveness, and overall design of the online store’s front-end. Consider the user interface’s clarity, ease of navigation, and responsiveness on different devices.
Database Integration: The efficiency, accuracy, and security of database interactions. Ensure that data is stored and retrieved correctly, and protect user data from security threats.
Security: The effectiveness of security measures implemented to protect user data and ensure secure transactions. Evaluate how well you’ve addressed security concerns, such as data encryption, user authentication, and payment security.
GitHub Repository: The completeness and organization of your project’s repository on GitHub, including clear documentation and version control practices.
You can access the front-end web design at the following link: Front-End Web Design
You are free to modify or customize the frontend to suit your project better, as the frontend design is just a simple website (with just a basic or simple implementation) with no backend integration.
Submit the scripts and relevant project files, along with clear instructions on how to set up and run the “E-commerce Online Store” website, as a single zip file containing all project materials. This zip file should be uploaded on the interview page.
GitHub Commitment Requirement
Please create a GitHub repository of your choice and post your project there. Ensure that the repository is accessible at this location: GitHub Repository.
Applicants can choose to work with either Python or PHP based on their preference. Your choice of programming language will determine which technology stack you use for the project (Python: SQLite/PostgreSQL, PHP: MySQL), but both versions aim to achieve the same goal of creating a functional and secure online store.