Skip to content
Bread Basket

Bread Basket

๐Ÿž Bread Basket - Complete Bakery Management System

Project Objectives

Bread Basket is a comprehensive bakery management system designed to streamline operations for small to medium-sized bakeries, with a focus on Philippine businesses. The system aims to:

  1. Modernize Bakery Operations - Replace traditional paper-based systems with digital solutions
  2. Enhance Customer Experience - Provide self-service kiosks and mobile ordering
  3. Ensure BIR Compliance - Built-in tax compliance features for Philippine businesses
  4. Improve Inventory Management - Real-time tracking of ingredients and finished products
  5. Enable Data-Driven Decisions - Comprehensive analytics and reporting

Project Plans

Kiosk Application

  • Interactive Touch Interface - Customer-friendly ordering system
  • Product Catalog - Breads, pastries, cakes, beverages, and Filipino kakanin
  • Multiple Payment Methods - GCash, Maya, Card, and Cash
  • BIR Tax Compliance - Terminal registration and audit logging
  • Local-First Architecture - Full offline functionality with IndexedDB storage
  • Offline-First Design - Seamless operation without internet connectivity
  • Automatic Synchronization - Data syncs to cloud when connection is restored
  • Conflict Resolution - Intelligent handling of offline changes and conflicts
  • Real-time Sync - Local IndexedDB with cloud synchronization
Gif

Mobile Applications

  • Customer App - Order placement, loyalty programs, and promotions
  • Staff App - Order management and inventory updates
  • Push Notifications - Order status and promotional alerts
Gif

Phase 1: Core System Development (In Progres)

  • Kiosk Application - Touch-friendly point of sale system
  • Database Backend - PostgreSQL with comprehensive schema
  • API Server - RESTful CRUD endpoints for all business entities
  • Basic Inventory Management - Product and ingredient tracking

Phase 2: Mobile Integration (In Progress)

  • Customer Mobile App - Ordering, loyalty programs, and promotions
  • Staff Mobile App - Order management and inventory updates
  • Push Notifications - Order status updates and promotions

Phase 3: Advanced Features (Planned)

  • Multi-Location Support - Manage multiple bakery branches
  • Online Ordering Platform - Web-based ordering system
  • Supplier Integration - Automated ordering from suppliers
  • Advanced Analytics - Sales forecasting and trend analysis

Technology Stack

Frontend Technologies

  • React 19 - Modern UI framework with React Compiler
  • TypeScript - Type-safe JavaScript development
  • Vite - Fast build tool and development server
  • Tailwind CSS - Utility-first CSS framework
  • Framer Motion - Smooth animations and transitions
  • Lucide React - Beautiful open-source icons

Backend Technologies

  • Node.js - JavaScript runtime environment
  • Express.js - Web application framework
  • PostgreSQL 15 - Relational database management system
  • Docker - Containerization for database deployment

Mobile Technologies

  • Expo - Cross-platform mobile development framework
  • React Native - Native mobile app development
  • Expo Router - File-based navigation system

Additional Tools & Libraries

  • Dexie.js - IndexedDB wrapper for local storage
  • LowDB - Lightweight JSON database for image metadata
  • ESLint & Prettier - Code quality and formatting
  • pgAdmin - Database management interface

Project Story

Bread Basket was born from the need to modernize traditional Filipino bakeries that still rely on manual processes and paper-based record keeping. The project started as a simple point-of-sale system but has evolved into a comprehensive bakery management ecosystem.

The Problem

Many small bakeries in the Philippines face challenges with:

  • Manual Order Taking - Handwritten orders leading to errors
  • Inventory Management - Difficulty tracking ingredients and products
  • Tax Compliance - Complex BIR requirements for digital receipts
  • Customer Engagement - Limited ways to build customer loyalty

The Solution

Bread Basket provides an all-in-one solution that:

  • Digitizes Operations - From order taking to inventory management
  • Ensures Compliance - Built-in BIR tax compliance features
  • Enhances Customer Experience - Self-service kiosks and mobile ordering
  • Provides Business Insights - Sales analytics and reporting

Project Summary

Bread Basket is a comprehensive bakery management system that combines modern web and mobile technologies to create a seamless operational experience for small to medium-sized bakeries. The system features:

  • Multi-Platform Support - Kiosk, web, and mobile applications
  • Complete Business Coverage - From point-of-sale to inventory management
  • Philippine-Specific Features - BIR tax compliance and local payment methods
  • Modern Technology Stack - React, Node.js, PostgreSQL, and Expo
  • Scalable Architecture - Designed to grow with your business needs
  • User-Friendly Design - Intuitive interfaces for both customers and staff

Project Structure

bread-basket/
โ”œโ”€โ”€ db/                  # Database backend and API server
โ”‚   โ”œโ”€โ”€ server.ts        # Main API server
โ”‚   โ”œโ”€โ”€ API_DOCUMENTATION.md  # Comprehensive API documentation
โ”‚   โ””โ”€โ”€ ...              # Database models, services, and routes
โ”œโ”€โ”€ kiosk/               # Kiosk point-of-sale application
โ”‚   โ”œโ”€โ”€ src/             # React frontend components
โ”‚   โ”œโ”€โ”€ README.md        # Kiosk-specific documentation
โ”‚   โ””โ”€โ”€ ...              # Kiosk configuration and assets
โ”œโ”€โ”€ mobile/              # Mobile applications
โ”‚   โ”œโ”€โ”€ app/             # Mobile app source code
โ”‚   โ”œโ”€โ”€ README.md        # Mobile app documentation
โ”‚   โ””โ”€โ”€ ...              # Mobile app configuration
โ””โ”€โ”€ README.md            # This file - main project documentation

Getting Started

Prerequisites

  • Docker Desktop - For PostgreSQL database
  • Node.js 18+ - For running applications
  • npm - Package manager

Quick Start

  1. Start the Kiosk System:

    cd kiosk
    scripts\start-kiosk.bat
  2. Start the Mobile App:

    cd mobile
    npm install
    npx expo start
  3. Access the Applications:

Database & API

  • Comprehensive CRUD API - Endpoints for all business entities
  • PostgreSQL Database - Robust data management with Docker
  • Image Management - File upload and metadata storage
  • Real-time Data Access - Efficient querying and reporting

Business Entities

The system manages the following core business entities:

  1. Products - Bakery items with categories, pricing, and inventory
  2. Categories - Product classification (breads, pastries, cakes, etc.)
  3. Customers - Customer profiles and loyalty information
  4. Orders - Customer orders with status tracking
  5. Order Items - Individual items within orders
  6. Employees - Staff management and permissions
  7. Suppliers - Supplier information and inventory
  8. Inventory - Ingredient and product stock management
  9. Promotions - Discounts and special offers
  10. Images - Product photos and asset management

Development Workflow

Kiosk Development

cd kiosk
npm run dev          # Start frontend
npm run server       # Start API server
npm run build        # Build for production
npm run lint         # Run ESLint
npm run format       # Format code

Mobile Development

cd mobile
npm install          # Install dependencies
npx expo start       # Start development server
npm run reset-project # Reset to clean project

Database Management

cd db
npm run db:setup-and-seed  # Setup and seed database
docker-compose up -d postgres  # Start PostgreSQL

Future Roadmap

  1. Multi-Branch Support - Manage multiple bakery locations
  2. Online Ordering Platform - Web-based customer ordering
  3. Supplier Integration API - Automated supplier ordering
  4. Advanced Analytics Dashboard - Sales forecasting and trends
  5. Customer Loyalty Program - Points system and rewards
  6. Delivery Management - Integration with delivery services
  7. Employee Scheduling - Staff management and shift planning

License

Private


Bread Basket - Modernizing bakery operations, one loaf at a time! ๐Ÿž๐Ÿฅ–๐Ÿฐ