Skip to content

Anonto050/fluentai

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FluentAI

Fluent AI is an AI-integrated language learning platform that leverages the power of artificial intelligence to provide personalized learning experiences. This repository contains the frontend and backend codebase.

Demo

Watch the demo here: FluentAI Demo

Table of Contents

Key Features

  • Interactive Learning: Comprehensive lessons covering alphabets, vocabulary, and phrases with audio-visual aids.
  • AI-Driven Conversations: Practice real-life conversations with AI-driven interactions and get instant feedback.
  • Gamification: Engage with quests, earn XP, and track your position on the leaderboard.
  • 3D Interactive Classroom: An immersive 3D classroom feature for interactivity, where users can practice grammar breakdowns, speaking, and listening simultaneously.
  • Vision Pal: A navigation tool for visually impaired users that captures video and provides spoken guidance to help navigate their surroundings.
  • Sign Language Recognition Module: A dedicated module for learning sign language using video capture and a custom ML model for recognition.
  • Writing and Speaking Practice: A module that allows users to practice writing with real-time feedback using OCR technology and engage in speaking practice through AI-based conversations.
  • Image and PDF Discussions: Interactive learning through the discussion of images and PDFs, helping users learn new words and phrases in context.

Visual Overview

1. Welcome Screen

Welcome Screen

An inviting welcome screen to start your language learning journey.

2. Language Courses Selection

Language Courses Selection

Easily select from a variety of language courses offered on the platform.

3. Learning Dashboard

Learning Dashboard

Overview of learning units, with easy access to quests and shop.

4. Quiz Interface

Quiz Interface

Interactive quizzes to test and reinforce your learning.

5. Shop Interface

Shop Interface

Use earned points to purchase items in the shop, such as refilling hearts.

6. Leaderboard

Leaderboard

Track your ranking among other learners in the community.

7. Quests Overview

Quests Overview

Complete quests to earn XP and enhance your learning experience.

8. Polychat, Chat with Images & PDFs

Polychat Interface

Polychat Interface

Chat with Images

Chat with Images

Chat with PDFs

Chat with scenarios

9. Write Practice Interface

Write Practice Interface

Practice writing words and get real-time feedback using OCR.

10. 3D Classroom Feature

3D Classroom Feature

Engage in a dynamic 3D classroom for language learning with interactive lessons.

11. Learn Sign Language

Learn Sign Language

Sign language learning with real-time gesture recognition and feedback.

12. Vision Pal for Navigation Assistance

Vision Pal for Navigation Assistance

Navigate your surroundings with Vision Pal, providing spoken guidance for the visually impaired.

Tech Stack

Frontend

  • Framework: Next.js 14
  • Programming Language: TypeScript
  • Styling: Tailwind CSS with shadcn/ui library

Backend

  • Java: The primary programming language for backend development.
  • Spring Boot: Framework for building production-ready applications quickly.
  • PostgreSQL: Managed relational database for data persistence.
  • Maven: Build automation tool for Java projects.
  • Docker: Containerization for consistent deployment environments.
  • GitHub Actions: CI/CD for automated testing, building, and deployment.

Frontend Installation

To set up the frontend locally, follow these steps:

  1. Clone the repository:

    git clone https://github.com/BRAINIAC2677/fluentai.git
    cd fluentai/frontend
  2. Install dependencies:

    npm install
  3. Run the development server:

    npm run dev

    The application will be available at http://localhost:3000.

Backend Installation

Prerequisites

Before you begin, ensure you have the following installed:

  • Java 17 or higher
  • Maven 3.6.0 or higher
  • Docker
  • Git

Installation

  1. Clone the repository:
    git clone https://github.com/BRAINIAC2677/fluentai.git
    cd fluentai/backend
  2. Install dependencies:
    mvn install
  3. Configure database credentials:
    SPRING_DATASOURCE_URL=jdbc:postgresql://<your-database-url>:5432/<database-name>
    SPRING_DATASOURCE_USERNAME=<your-username>
    SPRING_DATASOURCE_PASSWORD=<your-password>
    

Running The Application

To run the application locally, use the following command:

mvn spring-boot:run

The application will be accessible at http://localhost:8080

Usage

Once the server is running, you can explore the platform's various features, such as signing up, selecting a language, and engaging with interactive lessons. The sidebar provides easy navigation to learning modules, quests, the shop, and leaderboards.

CI/CD Pipeline

This project utilizes GitHub Actions for CI/CD. Upon every commit push to the main branch, the following steps occur automatically:

  • Build: The backend is built using Maven.
  • Test: The project tests are run.
  • Dockerize: The application is packaged into a Docker container.
  • Push to Container Registry: The Docker image is pushed to the DigitalOcean private container registry. The CI/CD pipeline is defined in .github/workflows/

Deployment

DigitalOcean App Platform automatically detects new images in the private container registry and redeploys the latest version of the application. This ensures minimal downtime and continuous delivery of updates to the platform.

Contributing

We welcome contributions to enhance FluentAI. To contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/your-feature-name).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some feature').
  5. Push to the branch (git push origin feature/your-feature-name).
  6. Create a Pull Request.

Please ensure that your code adheres to the project's coding standards and conventions.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For questions, suggestions, or feedback, please reach out to:

About

An immersive language learning platform which will make your journey smoother with the help of AI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 54.9%
  • Java 30.7%
  • JavaScript 13.4%
  • Other 1.0%