8000 GitHub - gursewaktut/TeamPines: Code Mentor AI: An interactive Programming learning platform
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

gursewaktut/TeamPines

Repository files navigation

Demo Video

Watch Demo Video

Project Objectives

Code Mentor AI: An Interactive Programming Learning Platform

Code Mentor AI is a cutting-edge platform designed to revolutionize how we learn programming. Leveraging advanced APIs and a sophisticated tech stack, it offers an interactive and tailored learning experience. Features include support for multiple languages, real-time code evaluation, virtual tutors, and the ability to analyze code from diagrams among other notable features. Our mission is to make programming education universally accessible and adaptable to each learner's unique style, bridging the gap between concept mastery and practical application.

Coding Animation

Landing Page

Key Features

  • Multi-Language Support: Code evaluation and tutoring for various programming languages
  • Real-time Code Execution: Integrated code editor with live feedback
  • AI-Powered Tutoring: Interactive virtual tutors for personalized learning
  • Diagram-to-Code Analysis: Convert flowcharts and diagrams into executable code
  • Interactive Learning Path: Structured curriculum with progress tracking
  • Responsive Design: Optimized for desktop and mobile devices

System Architecture

High-Level Data Flow Diagram

High-Level DFD

The above diagram illustrates the overall system architecture and data flow within Code Mentor AI, showing how different components interact to provide a seamless learning experience.

Component Structure

src/
├── components/           # Reusable UI components
│   ├── LandingPage.js   # Main landing page with hero section
│   ├── Navbar.js        # Navigation component
│   ├── Footer.js        # Footer component
│   └── ...
├── pages/               # Page-level components
├── hooks/               # Custom React hooks
├── services/            # API integration services
├── utils/               # Utility functions
└── App.js              # Main application component

Technology Stack

Frontend

  • React.js: Component-based architecture with hooks for state management
  • Chakra UI: Modern, accessible component library for consistent design
  • React Router: Client-side routing for single-page application navigation
  • Axios: HTTP client for API communications
  • Create React App: Build toolchain for development and production builds

Backend Integration

  • Steamship API: AI-powered backend services for code evaluation and tutoring
  • RESTful APIs: Standard HTTP-based communication between frontend and backend services

Development Tools

  • ESLint: Code linting for consistent code quality
  • Prettier: Code formatting for consistent style
  • VS Code: Recommended IDE with extension support

Testing

  • Jest: JavaScript testing framework for unit testing React components
  • React Testing Library: Testing utilities for React components
  • 15 Total Tests: 9 unit tests and 6 integration tests ensuring code reliability

CI/CD Pipeline

  • GitHub Actions: Automated testing and deployment pipeline
  • Automated Testing: Runs test suite on every pull request
  • Continuous Deployment: Automatic deployment to Netlify on main branch updates

Hosting & Deployment

  • Netlify: Frontend hosting with continuous deployment from GitHub
  • Custom Domain: Professional domain setup with SSL certificate
  • Performance Optimization: Built-in CDN and asset optimization

Project Structure

The application follows a modular React architecture:

  • Landing Page: Hero section with animated GIF, feature highlights, and call-to-action
  • Navigation: Responsive navbar with routing to different sections
  • Component Library: Reusable UI components built with Chakra UI
  • State Management: React hooks for local state, Context API for global state
  • Routing: React Router for seamless navigation between pages
  • Responsive Design: Mobile-first approach with breakpoint-based styling

API Integration

The frontend integrates with external services through:

  • RESTful API endpoints for code execution
  • Real-time communication for interactive tutoring sessions
  • Secure authentication and user session management
  • Error handling and loading states for better user experience

Contributors

  • Avni Kapoor : avkap007
  • Gursewak Singh: gursewaktut
  • Henrik Sachdeva : henriksfu
  • Jiya Garg : jiyaagargg

Set Up Instructions

Please follow the following steps to run the app on your local environment:

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn package manager
  • Git

Installation

# Clone th
8309
e repository
git clone https://github.com/gursewaktut/TeamPines.git

# Navigate to project directory
cd TeamPines

# Install dependencies
npm install

# Start development server
npm start

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

Available Scripts

npm start          # Start development server
npm test           # Run test suite
npm run build      # Create production build
npm run eject      # Eject from Create React App (one-way operation)

Environment Setup

For full functionality, ensure you have:

  • API keys configured for external services
  • Proper CORS settings for backend integration
  • Environment variables set for production deployment

Testing

Run the comprehensive test suite:

# Run all tests
npm test

# Run tests with coverage report
npm test -- --coverage

# Run tests in watch mode
npm test -- --watch

Deployment

The project is configured for automatic deployment:

  1. Development: Push to feature branches triggers automated testing
  2. Staging: Pull requests run full test suite and preview deployment
  3. Production: Merging to main branch triggers production deployment to Netlify

Contributing

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

About

Code Mentor AI: An interactive Programming learning platform

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  
0