KoopaKart is a full-fledged e-commerce solution designed for customers to handle their orders and for staff to maintain products and user accounts. To make the mundane task of buying everyday items like bread and milk more engaging, this project places its operations in the whimsical Super Mario universe. In this world, products are represented as stars and mushrooms, while users take on the roles of brave plumbers and their helpful toads.
This project was created for educational purposes. My main priorities include:
For a detailed list of the technologies and packages used in this project, please refer to the Technologies Used section.
To set up the project locally, follow these steps:
Clone the Repository
git clone https://github.com/yourusername/KoopaKart.git
cd KoopaKart
Install Poetry If you haven't installed Poetry yet, you can do so by running:
pip install --upgrade pip
pip install poetry
Install Dependencies Use Poetry to install the project's dependencies:
poetry install
Set Up Your Environment Variables
Create a .env
file in the root directory of the project and add your environment variables based on the following example:
DB_NAME=your_db_name
DB_USER=your_db_user
DB_PASSWORD=your_db_password
DB_HOST=your_db_host
DB_PORT=your_db_port
DATABASE_URL=your_database_url
(See GUIDE_POSTGRE.md
for step by step instructions)
Run Migrations and Start the Development Server Run the following commands to apply migrations and start the server:
poetry shell
python manage.py migrate
python manage.py runserver
Now, you should be able to access the application at http://127.0.0.1:8000/
.
This project is deployed on Render, a cloud platform that allows you to host applications with ease. I used Render to gain hands-on experience with deploying a Django application in the cloud.
You can access the live version of KoopaKart at the following URL: KoopaKart Live
Feel free to explore the project and experience the functionality firsthand. Screenshots and additional details will be added soon!
Coming soon
This project is primarily developed in Python, utilizing the Django framework to create a robust web application, with PostgreSQL as the database management system. The complete list of packages used can be found in the pyproject.toml file managed by Poetry.
Key packages include:
.env
files for managing environment-specific settings.Coming soon
To run the tests locally, first ensure you have installed the necessary dependencies and start a Poetry shell. Then, use the following command:
poetry shell
python manage.py test
I welcome suggestions and ideas for improvement. However, please note that all coding contributions are currently handled by me. If you have any feedback or feature requests, feel free to reach out!
"While Nintendo holds a special place in my heart and I've spent countless hours enjoying their delightful games and consoles, I want to clarify that I have no official affiliation with the company. References to their fantastic art are purely for educational purposes and not intended to imply any connection with this amazing brand."
This project is licensed under the MIT License. See the LICENSE file in the project root for more details. The licenses for the individual packages used in this project can be found in their respective repositories.
You can reach me at shani.rubovitch@gmail.com or through the GitHub issue tracker for any questions or feedback.