Warung Omega is an e-commerce website designed to facilitate buying of seafood products by consumers without the involvement of businesses and hidden costs. The functions that a user will be able to perform in this platform are:
- Browse through the database of available product on different category.
- View Product dashboard
- Choose as much seafood product as you can
- Payment using debit/credit card View receipt details Wait for the seafood products to get delivered
Warung Omega, a local seafood restaurant, seeks to expand its customer base and increase revenue by transitioning to a digital platform. The restaurant currently operates solely as a brick-and-mortar establishment, limiting its reach to local customers. The primary challenge lies in developing an e-commerce website that effectively showcases the restaurant's diverse seafood offerings, facilitates seamless online ordering and payment processes, and ensures timely and reliable delivery. Additionally, the website must be user-friendly and visually appealing to attract a wider customer base.
- FastAPI
- Jinja
- Postgre
- Supabase
- RestAPI
- Tortoise, ORM
- Midtrans Payment Gateway
- Oauth
- Heroku
- Clone this repo
git clone https://github.com/roniantoniius/Warung-Omega-Ecommerce.git
- Make your virtual environment
python -m venv env
- Run your virtual environment and select interpreter
.\env\Scripts\activate
- Go to
app
directory
cd app
- Install requirements
pip install -r requirements.txt
- Configure and make your own
.env
file
YOUR_OWN_EMAIL
YOUR_OWN_PASS
YOUR_OWN_SECRET
YOUR_OWN_MIDTRANS_SERVER_KEY
YOUR_OWN_MIDTRANS_CLIENT_KEY
YOUR_OWN_DB_USERNAME
YOUR_OWN_DB_PASSWORD
YOUR_OWN_DB_NAME
- Run your app
uvicorn main:app --reload
-
Clone this repo
git clone https://github.com/roniantonius/Warung-Omega-Ecommerce.git
-
Build the Docker image
docker build -t warungomega:latest .
-
Run the Docker container
docker run -d -p 8000:8000 warungomega:latest
-
Access the application Open a browser and go to
http://localhost:8000
to see the running FastAPI application. -
(Optional) Push the image to Docker Hub
If you want to deploy this on a Kubernetes cluster, you’ll need to push the image to a container registry (e.g., Docker Hub).docker tag warungomega:latest roniantonius/warungomega:latest docker push roniantonius/warungomega:latest
To deploy the application on a Kubernetes cluster:
-
Apply the deployment configuration:
kubectl apply -f deployment.yaml
-
Apply the service configuration:
kubectl apply -f service.yaml
-
Get the external IP address:
kubectl get services
Use the external IP listed under your service to access the application.
- Use Case Diagram
- Activity Diagram
- Sequence Diagram
- Class Diagram
- State Chart Diagram
- BPMN