A comprehensive application for braille education and learning, featuring both frontend and backend components.
braille-bridge/
├── frontend/ # React TypeScript frontend application
│ ├── src/ # Source code
│ ├── public/ # Static assets
│ ├── package.json # Frontend dependencies
│ └── ...
├── backend/ # Python FastAPI backend application
│ ├── app/ # Main application code
│ ├── services/ # Business logic services
│ ├── models/ # Data models
│ ├── preprocessing/ # Data preprocessing scripts
│ ├── requirements.txt # Python dependencies
│ └── ...
├── LICENSE # Project license
├── setup.sh # Automated setup script
└── .gitignore # Git ignore rules
- Node.js (for frontend)
- Python 3.8+ (for backend)
- Git (for cloning dependencies)
- Ollama
The easiest way to run Braille Bridge is using Docker, which requires minimal setup:
-
Make sure you have Docker and Docker Compose installed
-
Clone the repository:
git clone <repository-url> cd braille-bridge
-
Set up your environment file:
cp backend/.env.example backend/.env # Edit backend/.env with your configuration -
Build and run with Docker Compose:
docker-compose up --build
-
Access the application:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- Ollama: http://localhost:11434
-
Build the Docker image:
docker build -t braille-bridge . -
Run the container:
docker run -p 5173:5173 -p 8000:8000 -p 11434:11434 \ -v $(pwd)/backend/uploads:/app/backend/uploads \ -v $(pwd)/backend/.env:/app/backend/.env \ braille-bridge
The easiest way to set up the project locally is using the automated setup script:
# Make the setup script executable
chmod +x setup.sh
# Run the setup script
./setup.shThis script will:
- Check for required prerequisites
- Install and start Ollama service
- Set up the Python virtual environment
- Install liblouis library with UCS4 support
- Install all Python dependencies
- Set up the frontend dependencies
- Create necessary configuration files
Remember to fill the .env in backend/
If you prefer to set up manually or the automated script fails, follow these steps:
-
Navigate to the backend directory:
cd backend -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install liblouis library:
# Clone liblouis repository git clone https://github.com/liblouis/liblouis.git # Configure with UCS4 support cd liblouis ./configure --enable-ucs4 # Build and install make sudo make install # Install Python bindings cd python python setup.py install cd ../..
-
Install Python dependencies:
pip install -r requirements.txt
-
Set up environment variables:
cp .env.example .env # Edit .env with your configuration -
Run the backend server:
python app/run.py
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
- Braille Processing: Convert text to braille and vice versa using liblouis
- Audio Processing: Text-to-speech capabilities using Gemma models
- Diagram Recognition: Process and convert diagrams to accessible formats
- Student Management: Track student progress and assignments
- Assignment System: Create and manage educational assignments
- Feedback System: Provide feedback on student submissions
- React with TypeScript
- Vite for build tooling
- Modern UI components
- FastAPI (Python)
- SQLite database
- Gemma AI models for processing
- YOLO for object detection
- Text-to-speech capabilities
- liblouis for braille translation