Skip to content

kimperria/tamu_foods_with_django

Repository files navigation

TAMU FOODS


This is an e-Commerce food delivery web-based application that enables users to order food online from our partner range of restaurants and individual vendors.

A sequel and beta version of Tamu-Foods that I had earlier made with the Flask framework and alpha version of TamuFoods I recently revamped using React, Redux and Node express.

Tamu Foods Homepage

Table of contents

  1. Overview
  2. Features
  3. Demo
  4. Setup
  5. Author

Overview


TamuFoods is a kenyan Food Tech company that seek to facilitate trade between vendors, merchants and customers through an e-Commerce platform. Unlike the existing food deliver applications that focuses on established restaurants, we seek to expand our vendors base by allowing private chefs, catering students, and other professionals who love cooking join the platform to sell their recipes.

About Project


The application is built into two broad categories:

  • Hompage

    • General information about the company.
    • Imporant links to contact administration.
    • Provision to press and publications.

  • Menupage

    • View product catalogue.
    • Process product purchase(add to cart)
  • Cart

    • View selected customer items.
    • Adjust invenory.
    • Initiate checkout process.
    • Save and clear cart items.

Users


This platform offers multi user roles.

Customers

  • Self register.
  • View client oriented view ports and other allowed permisions.
  • Initiate and process orders.
  • Request on location delivery.
  • Customize personal profile and information.

Business Admin

Defined as a sole proprietor, business owner or a registered company patnering with Tamu Foods.

Vendor - Legal partner to TamuFoods offering food items. Merchant - Possible potential 3rd party trade facilitators. They include, delivery company or individuals, suppliers, government, financial and non-financial instiutions etc.

  • General responsibilities.
    • Registered as a vendor in application.
    • Customize personal profile and account information.
    • Status
      • On registration and incase of suspension = Pending.
      • Upon verification = Approved.
      • Incase of withdrawal = Rejected.
    • Approved vendors can:
      • Create food items and assign food category they deal in.
      • Manage their inventory.
      • View sales reports and business accounts.
    • Approved merchants e.g delivery C/O can:
      • Process delivery.
      • View delivery reports.

System Admin

  • System admin has superuser prvilideges to maintain the application.
    • Manages all users, inventory and has access to all the available models.
    • Verifies and approves users registered as Merchants and vendors.

Features


  1. MultiUser Roles, permission and authentication
  2. Custom profile interface. i.e user can update personal information
  3. e-Commerce shopping experience.

Technologies used


Development Django 4.1.3 Postgress
Production Hosted on Railway LiveLink

Project illustations

UI UX Prototype DATABASE
Click link to view wireframe and design concept on Figma Click link to view schema on Miro

Setup

Dependacies

  • Python 3.6 +
  • JavaScript
  • PostgreSQL
  • IDE of choice.
  • More listed on requirements.txt

How to install this project:

- Clone this repo, run:
    git clone https://github.com/John-Kimani/tamu_foods_with_django.git
- Move into the project folder:
    cd tamu_foods_with_django
- Open project with IDE i.e VsCode run:
    code .
- Create projects virtual environment and install all packages
  virtualenv venv
  pip install -r requirements.txt
- Activate virtual environment
    pipenv shell
- Create postgress DB
    sudo -u postgres psql
    password for user i.e: 'you-will-never-guess'
    postgres=#: CREATE DATABASE blackpanther22;
    CREATE DATABASE
- Set your environment variables, keys and other configurations

Environment variables

Set and configure your development variables.
- SECRET_KEY='django-secret-key' or 'you-will-never-guess'
- MODE='dev'
- DEBUG=True
- DEV_DB_NAME='blackpanther22'
- DEV_DB_USER='postgres user' or 'allowed psql user'
- DEV_DB_PASSWORD='you-will-never-guess' or Null
- DEV_DB_HOST=provide default
- ALLOWED_HOSTS=provide for localhost
- CLOUDINARY_CLOUD_NAME='your cloudinary username'
- CLOUDINARY_API_KEY='your cloudinary api'
- CLOUDINARY_API_SECRET='your cloudinary secret key'
- CSRF_TRUSTED_ORIGINS =[ALLOWED_HOSTS]
- DISABLE_COLLECTSTATIC=0

Continue with setup

- Make migrations and migrate configurations to new DB
    python manage.py makemigrations
    python manage.py migrate
- Run entry file:
    python3 manage.py runserver
- Create superuser
    python manage.py createsuperuser

Author


This project was designed and developed by : Kimani John

About

This is an e-Commerce food delivery web-based application that enables users to order food online from our partner range of restaurants and individual vendors.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published