Skip to content

Lennoxep/Core

Repository files navigation

Core — Creating Community, One Aisle at a Time

For many of us, grocery shopping is routine. We walk into a store, recognize products, compare options, and make decisions without thinking twice. But that isn’t everyone’s reality. For many immigrant and ESL shoppers, grocery stores can feel overwhelming and unfamiliar. Reading labels, understanding ingredients, and choosing between products becomes difficult when everything is in a different language.

These challenges go beyond inconvenience. They can lead to confusion, unsafe food choices, and a sense of isolation in everyday spaces. Something as essential as buying groceries can make people feel like they are not fully part of their community.

Core was built with these experiences in mind. It’s not about asking users to adapt to systems that weren’t designed for them. It’s about redesigning the experience itself to be more inclusive, intuitive, and supportive. Our goal is to make grocery shopping feel simple, safe, and empowering, because everyone deserves to feel at the core of their community.


✨ Features

  • Multilingual grocery list input and translation
  • Personalised filters (location, language, dietary restrictions)
  • Aisle-level organisation for in-store navigation
  • Allergen-aware filtering and warnings
  • Dual-language product display (native language + English)
  • Clean, accessibility-focused UI

⚙️ Prerequisites

General

  • Node.js v18+ (recommended)
  • npm v9+
  • Python 3.9+
  • PostgreSQL

Python Dependencies

Install required backend packages:

pip install -r requirements.txt


⸻

🔑 API Setup

Kroger API

Core uses Kroger API data to power product and store recommendations. 1. Create a developer account at https://developer.kroger.com 2. Create an application to obtain your credentials 3. Add the following to your .env file:

KROGER_CLIENT_ID=your_client_id KROGER_CLIENT_SECRET=your_client_secret

Google Cloud Translate API

Core uses Google Cloud Translate to support multilingual input and product translation. 1. Create a project in Google Cloud Console 2. Enable the Cloud Translation API 3. Create a service account and download the JSON credentials 4. Add the following to your .env file:

GOOGLE_TRANSLATE_API_KEY=your_google_translate_api_key

Make sure the credentials file is not committed to your repository.

🚀 Getting Started

  1. Clone the Repository

git clone cd

  1. Frontend Setup

cd frontend npm install

Start the development server (hot reload):

npm run dev

Build for production:

npm run build

Preview the production build:

npm run preview

  1. Backend Setup (FastAPI)

cd backend

Create a .env file with:

DATABASE_URL=your_postgres_connection_string GOOGLE_TRANSLATE_API_KEY=your_google_translate_api_key

Run the server:

uvicorn main:app --reload

  1. Database Setup

Make sure PostgreSQL is running, then run migrations:

alembic upgrade head

🧠 Tech Stack

Frontend • React • TypeScript • Vite • Zustand

Backend • FastAPI • PostgreSQL • SQLAlchemy • Alembic

APIs & Data • Google Cloud Translate API • Kroger API

🌱 Vision

Core is just the beginning. We see it evolving into a broader accessibility layer for retail, supporting more languages, more stores, and more personalized experiences. By reducing language barriers in everyday tasks, we hope to help more people navigate systems with confidence and feel like they truly belong.

About

Carolyn, Lennox, and Rhea's Yhack project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages