Skip to content

georgeflour/makeathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

254 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI-Powered Bundling & Pricing Strategist 🎯

An intelligent e-commerce solution that leverages AI to create optimal product bundles and pricing strategies, helping retailers maximize revenue and customer satisfaction.

🌟 Features

Bundle Discovery

  • Complementary Bundles: Products frequently purchased together
  • Thematic Bundles: Category-based product groupings
  • Volume Bundles: Quantity-based discount packages
  • Cross-sell Bundles: High-margin item combinations

Price Optimization

  • Machine learning-based pricing
  • Revenue maximization algorithms

Inventory Management

  • Real-time stock tracking
  • Automated bundle duration calculation
  • Stock-based availability

πŸ› οΈ Tech Stack

Frontend

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Jest for testing

Backend

  • Python
  • Flask
  • SQLite
  • Pytest for testing

Data Processing

  • Pandas
  • NumPy
  • Scikit-learn
  • Excel data handling

Static Analysis

  • Prettier
  • Black
  • Pylint

Note

  • Other tools like docker and github actions where used but because of the makeathon's limited time, did not manage to be delivered operational on time. For the competition's sake they are still published in the repository, so that judges can check their usage and the effort. In order to not loose the AZURE_KEY we deleted the .env, so if judges need to run themselves the project, they need to create a .env file and add the elements below
AZURE_KEY=<your-key>
ENDPOINT=<your-endpoint>
STORAGE_ENDPOINT=<your-storage-endpoint
STORAGE_KEY=<your-key>
STORAGE_CONTAINER=<your-storage-container>
SEARCH_KEY=<search-key>
SEARCH_ENDPOINT=<search-endpoint>
SEARCH_INDEX_NAME=<searche-index-name>
  • The project structure on the app presented to the judges is based on the server and client directories. The rest files make the architecture messy but are provided to show the rest of the work done during the makeathon.

πŸš€ Getting Started

Prerequisites

  • Node.js 20+
  • Python 3.8+

Installation

  1. Clone the repository:
git clone https://github.com/georgeflour/makeathon.git
cd makeathon
  1. Set up the Python environment:
python3 -m venv venv            
source venv/bin/activate     
pip3 install -r requirements.txt
  1. Set up the frontend:
# Navigate to client directory
cd client

# Install Node.js dependencies
npm install
  1. Start the backend server:
# From the project root directory
cd server
flask run 
  1. Start the frontend development server:
# In a new terminal, from the client directory
cd client
npm run dev

The application will be available at:

πŸ“Š Project Structure

β”œβ”€β”€ client/                     # Next.js frontend
β”‚   β”œβ”€β”€ src/                   # Source files
β”‚   β”œβ”€β”€ public/                # Static files
β”‚   β”œβ”€β”€ __tests__/            # Frontend tests
β”‚   β”œβ”€β”€ package.json          # Frontend dependencies
β”‚   β”œβ”€β”€ tailwind.config.ts    # Tailwind configuration
β”‚   └── tsconfig.json         # TypeScript configuration
β”œβ”€β”€ server/                    # Python backend
β”‚   β”œβ”€β”€ app/                  # Application code
β”‚   β”œβ”€β”€ tests/                # Backend tests
β”‚   └── requirements.txt      # Backend dependencies
β”œβ”€β”€ requirements.txt          # Main Python dependencies
β”œβ”€β”€ pyproject.toml           # Python project configuration
└── pytest.ini              # Pytest configuration

πŸ”§ Configuration

Environment Variables

For competition's sake, the .env is published despite being a bad general practice.

The frontend API configuration is handled in next.config.js and doesn't require additional environment variables.

Required Data Files

Before running the application, ensure you have the following data files in the root directory:

  • Orders.xlsx: Contains the order history data
  • Data.xlsx: Contains additional product data
  • inventory_enriched.xlsx: Contains enriched inventory information.

The application will automatically create the necessary database files (makeathon.db and bundles.db) on first run.

πŸ§ͺ Testing

Frontend Tests

cd client
npm test

Backend Tests

cd server
pytest

App Demo

  • here is a quick overview of basic functionalities of the application
demo_makeathon_github.mp4

πŸ™ Acknowledgments

  • Makeathon 2025
  • All contributors and supporters
  • Open source community

Made with ❀️ for Makeathon 2025

About

This project generates optimal bundles of products using both AI and Optimisation Methods

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors