https://github.com/harsh-kumar-jha/ed-tech
An intelligent, scalable, and modular Node.js + TypeScript platform for IELTS test prep. Features include AI-evaluated tests, student progress tracking, real-time interactions, and comprehensive support for all four IELTS sections.
https://github.com/harsh-kumar-jha/ed-tech
ai-integration authentication edtech expressjs groq-ai ielts joi multer nodejs oauth2 postgressql prisma real-time socket-io typescript winston
Last synced: 3 months ago
JSON representation
An intelligent, scalable, and modular Node.js + TypeScript platform for IELTS test prep. Features include AI-evaluated tests, student progress tracking, real-time interactions, and comprehensive support for all four IELTS sections.
- Host: GitHub
- URL: https://github.com/harsh-kumar-jha/ed-tech
- Owner: Harsh-kumar-jha
- License: other
- Created: 2025-06-29T21:29:58.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-07-08T21:48:39.000Z (3 months ago)
- Last Synced: 2025-07-08T22:34:39.284Z (3 months ago)
- Topics: ai-integration, authentication, edtech, expressjs, groq-ai, ielts, joi, multer, nodejs, oauth2, postgressql, prisma, real-time, socket-io, typescript, winston
- Language: TypeScript
- Homepage:
- Size: 383 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# IELTS EdTech Platform
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
๐ฏ Comprehensive IELTS Test Preparation Platform
An AI-powered EdTech platform built with Node.js, Express.js, and TypeScript to help students prepare for IELTS exams and achieve their study abroad goals.
---
## ๐ Overview
The IELTS EdTech Platform is a comprehensive, open-source solution designed to revolutionize IELTS test preparation. Built with modern technologies and powered by AI, it provides students with personalized learning experiences, real-time feedback, and progress tracking to maximize their success in IELTS examinations.
### Why This Project?
- **๐ Educational Impact**: Helps students worldwide achieve their study abroad dreams
- **๐ค AI-Powered**: Leverages Groq AI for intelligent test evaluation and feedback
- **๐๏ธ Modern Architecture**: Built with TypeScript, Express.js, and PostgreSQL for scalability
- **๐ Real-time Features**: Socket.IO integration for live communication and updates
- **๐ Progress Tracking**: Comprehensive analytics and leaderboard system## โจ Key Features
### ๐ Core IELTS Modules
- **๐ Reading Tests**: Advanced reading comprehension with diverse question types
- **๐ง Listening Tests**: Audio-based assessments with real-time scoring
- **โ๏ธ Writing Tests**: Essay evaluation with AI-powered feedback and scoring
- **๐ฃ๏ธ Speaking Tests**: Audio response recording with pronunciation analysis### ๐ Platform Capabilities
- **๐ค Student Portfolio System**: Comprehensive progress tracking and achievement management
- **๐ Leaderboard & Gamification**: Motivational ranking system with badges and rewards
- **๐ค AI Integration**: Groq AI-powered evaluation with detailed feedback
- **๐ Test Summarizer**: Automated performance summaries and improvement suggestions
- **โก Real-time Communication**: Live features powered by Socket.IO
- **๐ File Management**: Support for audio, video, and document uploads
- **๐ Secure Authentication**: JWT-based auth with OAuth2 support (Google, Microsoft)## ๐๏ธ Technical Architecture
### Technology Stack
| Category | Technology |
|----------|------------|
| **Backend** | Node.js, Express.js, TypeScript |
| **Database** | PostgreSQL with Prisma ORM |
| **AI/ML** | Groq AI for intelligent evaluation |
| **Real-time** | Socket.IO for live features |
| **Authentication** | JWT with OAuth2 (Google, Microsoft) |
| **File Storage** | Multer for local storage |
| **Logging** | Winston with daily rotation |
| **Validation** | Joi for request validation |
| **Security** | bcrypt, rate limiting, CORS |### ๐ Project Structure
```
EdTech/
โโโ ๐ src/
โ โโโ ๐ config/ # Application configuration
โ โโโ ๐ constants/ # Application constants
โ โโโ ๐ db/ # Database utilities
โ โโโ ๐ models/ # Database models (TypeScript interfaces)
โ โโโ ๐ services/ # Modular business logic services
โ โ โโโ ๐ Auth/ # Authentication service
โ โ โโโ ๐ AI/ # AI integration service
โ โ โโโ ๐ Ielts/ # IELTS test service
โ โ โโโ ๐ Leaderboard/ # Leaderboard service
โ โ โโโ ๐ Profile/ # User profile service
โ โโโ ๐ tests/ # Test utilities and integration tests
โ โโโ ๐ types/ # TypeScript type definitions
โ โโโ ๐ utils/ # Utility functions
โ โโโ ๐ server.ts # Server setup
โโโ ๐ prisma/ # Modular database schema
โ โโโ ๐ models/ # Individual model files
โ โโโ ๐ enums/ # Enum definitions
โ โโโ ๐ scripts/ # Schema build scripts
โ โโโ ๐ schema.prisma # Generated main schema
โโโ ๐ logs/ # Application logs
โโโ ๐ public/ # Static files
โโโ ๐ package.json # Dependencies and scripts
โโโ ๐ tsconfig.json # TypeScript configuration
โโโ ๐ index.ts # Application entry point
```## ๐ Quick Start
### Prerequisites
Make sure you have the following installed:
- **Node.js** (v18.0.0 or higher) - [Download here](https://nodejs.org/)
- **pnpm** (v8.0.0 or higher) - [Install guide](https://pnpm.io/installation)
- **PostgreSQL** (v13 or higher) - [Download here](https://www.postgresql.org/download/)
- **Groq AI API Key** - [Get your key](https://console.groq.com/)### Installation
1. **Clone the repository**
```bash
git clone https://github.com/yourusername/ielts-edtech-platform.git
cd ielts-edtech-platform
```2. **Install dependencies**
```bash
pnpm install
```3. **Environment configuration**
```bash
cp .env.sample .env
```4. **Configure environment variables**
```env
# Server Configuration
NODE_ENV=development
PORT=3000
API_VERSION=v1# Database Configuration
DATABASE_URL="postgresql://username:password@localhost:5432/ielts_edtech_db"# JWT Configuration
JWT_SECRET=your-super-secure-jwt-secret-key-here
JWT_EXPIRES_IN=7d# AI Configuration (Groq)
GROQ_API_KEY=your-groq-api-key-here
GROQ_MODEL=mixtral-8x7b-32768# OAuth Configuration
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
```5. **Database setup**
```bash
# Create database
createdb ielts_edtech_db# Build schema and generate client
pnpm run db:build-schema
pnpm run db:generate
pnpm run db:migrate# (Optional) Seed with test data
pnpm run db:seed
```6. **Start the application**
```bash
# Development mode
pnpm run dev# Production mode
pnpm run build && pnpm start
```Visit `http://localhost:3000` to access the application!
## ๐ Documentation
| Documentation | Description |
|---------------|-------------|
| [API Documentation](./api-docs/) | Complete API reference and examples |
| [Authentication Guide](./api-docs/auth.api.docs.md) | Authentication and authorization |
| [Writing Evaluation API](./api-docs/writing-evaluation.api.docs.md) | AI-powered writing assessment |
| [Contributing Guide](./CONTRIBUTING.md) | How to contribute to the project |
| [Code of Conduct](./CODE_OF_CONDUCT.md) | Community guidelines |## ๐ค Contributing
We welcome contributions from the community! Here's how you can help:
### Ways to Contribute
- ๐ **Bug Reports**: Found an issue? [Create a bug report](https://github.com/yourusername/ielts-edtech-platform/issues/new?template=bug_report.md)
- ๐ก **Feature Requests**: Have an idea? [Suggest a feature](https://github.com/yourusername/ielts-edtech-platform/issues/new?template=feature_request.md)
- ๐ **Documentation**: Improve our docs or write tutorials
- ๐ง **Code Contributions**: Fix bugs or implement new features
- ๐งช **Testing**: Help us improve test coverage
- ๐ **Translation**: Help us support more languages### Development Workflow
1. **Fork** the repository
2. **Create** a feature branch: `git checkout -b feature/amazing-feature`
3. **Commit** your changes: `git commit -m 'Add some amazing feature'`
4. **Push** to the branch: `git push origin feature/amazing-feature`
5. **Open** a Pull Request### Development Guidelines
- Follow the existing code style and conventions
- Write tests for new features
- Update documentation for any API changes
- Ensure all tests pass before submitting
- Use descriptive commit messages## ๐ Security
Security is a top priority. This platform includes:
- **JWT-based authentication** with refresh tokens
- **OAuth 2.0 integration** (Google, Microsoft)
- **Rate limiting** to prevent abuse
- **Input validation** using Joi
- **CORS protection** and security headers
- **Password hashing** with bcrypt
- **Two-factor authentication** (SMS)
- **Audit logging** for sensitive operations## ๐ Monitoring & Analytics
- **Winston logging** with daily rotation
- **Request/Response logging** for debugging
- **Error tracking** and performance monitoring
- **User analytics** and learning insights
- **Test performance metrics**## ๐ Performance
- **Scalable architecture** with modular services
- **Database optimization** with Prisma ORM
- **Real-time features** with Socket.IO
- **File upload optimization** with Multer
- **Caching strategies** for improved performance## ๐ Community
- **Discord**: [Join our community](#)
- **GitHub Discussions**: [Ask questions and share ideas](#)
- **Twitter**: [@harshxdev](https://x.com/harshxdev)## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgments
- Thanks to all contributors who have helped shape this project
- Groq AI for providing powerful AI capabilities
- The open-source community for inspiration and support
- IELTS test-takers worldwide who inspired this project---
โญ If you find this project helpful, please give it a star! โญ
Made with โค๏ธ by the IELTS EdTech Platform team