Skip to content

manavrenjith/AAC-Web_Project

Repository files navigation

AAC Web Project

Python Flask Status License

AAC Web Project is a Flask-based Augmentative and Alternative Communication (AAC) web app that helps users communicate using icons, sentence building, and speech tools.

The app includes role-based flows (user/caregiver) and supports:

  • Communication boards with categories
  • Sentence builder
  • Text-to-speech and speech-to-text
  • Caregiver content management (icons, categories, sentences)
  • Image-to-text support using BLIP + translation to Malayalam + generated audio

Language Support

This project currently supports only Malayalam and English.

Academic Context

This project was developed as part of a college course project. Its primary purpose is learning, experimentation, and academic demonstration. It is not intended to be a production-ready clinical AAC system.

Disclaimer

This repository may contain prototype features and is provided for educational use. Do not use it as a substitute for professional medical or therapeutic AAC tools.

Tech Stack

  • Backend: Python, Flask
  • Frontend: HTML (Jinja templates), CSS, JavaScript
  • AI/ML: PyTorch, Transformers (BLIP, mBART)
  • Speech: gTTS and browser speech APIs
  • Storage: JSON file (data.json)

Project Structure

AAC-Web_Project/
|- app.py
|- data.json
|- requirements.txt
|- templates/
|- static/
|  |- css/
|  |- js/
|  |- images/
|  |- audio/
|- add_images.py

Getting Started

1. Clone the repository

git clone <your-repo-url>
cd AAC-Web_Project

2. Create and activate a virtual environment

Windows PowerShell:

python -m venv .venv
.\.venv\Scripts\Activate.ps1

3. Install dependencies

pip install -r requirements.txt

4. Run the app

python app.py

The app runs at:

Main Features

  • User login/register and role-based navigation
  • AAC communication board with category filtering
  • Sentence creation and playback
  • Text-to-speech endpoint (/tts) for reliable audio playback
  • Speech-to-text input in the browser
  • Caregiver dashboard to add/edit/delete icons, sentences, and categories

Screenshots

App Logo

AAC Logo

UI Preview

Add screenshots after taking them from your running app, for example:

  • docs/screenshots/login.png
  • docs/screenshots/communication-board.png
  • docs/screenshots/caregiver-dashboard.png

Example markdown to use:

![Login Page](docs/screenshots/login.png)
![Communication Board](docs/screenshots/communication-board.png)
![Caregiver Dashboard](docs/screenshots/caregiver-dashboard.png)

Demo Credentials

Use this section if you want visitors to test quickly.

Caregiver
Username: your_caregiver_username
Password: your_caregiver_password

User
Username: your_user_username
Password: your_user_password

Notes

  • Some features download large model files on first use (Transformers models).
  • Uploaded and generated assets are stored in static/images/custom and static/audio.
  • App data is persisted in data.json.

Future Improvements

  • Move from JSON storage to a database
  • Add tests for routes and data operations
  • Add environment-based configuration for production
  • Add authentication hardening and password hashing

License

This project is licensed under the MIT License. See LICENSE.

About

AAC Web Project is a Flask-based web application for Augmentative and Alternative Communication (AAC), helping users communicate through visual boards, sentence building, text-to-speech, and speech-to-text, with dedicated caregiver, teacher, and student workflows.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors