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.
- Key Features
- Visual Overview
- Tech Stack
- Frontend Installation
- Backend Installation
- Usage
- CI/CD Pipeline
- Deployment
- Contributing
- License
- Contact
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.Progress Tracking:
Keep track of your learning progress and milestones through detailed profiles.Gamification:
Engage with quests, earn XP, and track your position on the leaderboard.
- Framework: Next.js 14
- Programming Language: TypeScript
- Styling: Tailwind CSS with shadcn/ui library
- 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.
To set up the frontend locally, follow these steps:
-
Clone the repository:
git clone https://github.com/BRAINIAC2677/fluentai.git cd fluentai/frontend
-
Install dependencies:
npm install
-
Run the development server:
npm run dev
The application will be available at http://localhost:3000.
Before you begin, ensure you have the following installed:
- Java 17 or higher
- Maven 3.6.0 or higher
- Docker
- Git
- Clone the repository:
git clone https://github.com/BRAINIAC2677/fluentai.git cd fluentai/backend
- Install dependencies:
mvn install
- Configure database credentials:
SPRING_DATASOURCE_URL=jdbc:postgresql://<your-database-url>:5432/<database-name> SPRING_DATASOURCE_USERNAME=<your-username> SPRING_DATASOURCE_PASSWORD=<your-password>
To run the application locally, use the following command:
mvn spring-boot:run
The application will be accessible at http://localhost:8080
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.
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/
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.
We welcome contributions to enhance FluentAI. To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature-name
). - Create a Pull Request.
Please ensure that your code adheres to the project's coding standards and conventions.
This project is licensed under the MIT License. See the LICENSE file for more details.
For questions, suggestions, or feedback, please reach out to:
- Asif Azad - asifazad0178@gmail.com
- Riad Ahmed Anonto - riadahmedanonto355@gmail.com