Skip to content

Latest commit

 

History

History
202 lines (158 loc) · 6.16 KB

README.md

File metadata and controls

202 lines (158 loc) · 6.16 KB

FarmCart

Banner

Tip

Website: farmcart.com

Overview

Empowering Sri Lankan Farmers through Direct Farm-to-Table E-Commerce.

FarmCart is an innovative web application designed to revolutionize the agricultural landscape in Sri Lanka. Our platform connects local farmers directly with consumers, eliminating intermediaries and ensuring fair pricing for both parties.

Technologies


Table of Contents

Features

  • User Management: Manage user profiles, authentication, and authorization.
  • Shop Management: Manage shop settings, product listings, and inventory.
  • Product Listings: Display products with details and images.
  • Financial/Payment Management: Handle payments, refunds, and financial reports.
  • Employee Management: Manage employee roles and permissions.
  • Admin Panel: Centralized control panel for admin tasks.
  • Promotions: Create and manage promotional campaigns.
  • Order Management: Track and manage customer orders.
  • Shopping Cart: Manage items in the shopping cart.
  • Delivery Management: Coordinate delivery schedules and logistics.
  • Package Tracking: Real-time tracking of packages.
  • Customer Care: Handle customer inquiries and support tickets.
  • User Feedback: Collect and analyze user feedback.
  • Product Catalog: Comprehensive catalog of all products.

System Design Diagram

Diagram-2


Getting Started

Prerequisites

  • Node.js
  • npm
  • Git

Installation

Click me
  1. Clone the repository:
    git clone https://github.com/yourusername/itp-project.git
  2. Navigate to the frontend directory:
    cd frontend 
    npm install
    npm run dev
  3. Navigate to the backend directory:
    cd backend 
    npm install
    npm run dev

Docker Installation Guide

To run FarmCart using Docker, follow these steps:

Click Me
  1. Install Docker

    • For Windows and Mac:

    • For Linux:

      • Use the following commands to install Docker:

        sudo apt update
        sudo apt install apt-transport-https ca-certificates curl software-properties-common
        curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
        sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
        sudo apt update
        sudo apt install docker-ce
  2. Verify Installation

    • After installing Docker, verify that it is installed correctly by running:
      docker --version
    • You should see the installed Docker version.
  3. Run FarmCart with Docker Compose:

    • Navigate to the root directory of the cloned repository:
      cd itp-project
    • Disclaimer: Before running Docker, ensure that you have set up the necessary environment variables in the .env.docker files located in both the frontend and backend directories. These variables are crucial for the application to function correctly.
    • Start the application using Docker Compose:
      docker-compose up --build
  4. Access the Application


Docker Configuration

name: FarmCart

services:
  api:
    build:
      context: ./backend
      dockerfile: Dockerfile
    restart: unless-stopped
    env_file: ./backend/.env.docker
    ports:
      - 5001:5001
    volumes:
      - ./backend:/app
      - /app/node_modules
    networks:
      - mern-app

  frontend:
    build:
      context: ./frontend
      dockerfile: Dockerfile
    restart: unless-stopped
    env_file: ./frontend/.env.docker
    ports:
      - 3001:3001
    volumes:
      - ./frontend:/app
      - /app/node_modules
    networks:
      - mern-app
    command: npm run dev -- --host
    depends_on:
      - api

networks:
  mern-app:
    driver: bridge