An intelligent web-based 3D Rubik's Cube solver and learning platform
CubeMate is an advanced web application that combines 3D visualization, intelligent solving algorithms, and educational features to make Rubik's cube solving accessible and engaging for everyone. Whether you're a beginner learning your first solve or an enthusiast exploring advanced methods, CubeMate provides the tools and guidance you need.
- π¨ Interactive 3D Cube: Realistic cube visualization with smooth animations
- π§ Intelligent Solver: Kociemba algorithm for optimal solutions
- π Learning Hub: Step-by-step tutorials and pattern library
- π Progress Tracking: Personal statistics and achievement system
- π Community Features: Challenges, leaderboards, and competitions
- React.js with JavaScript (team expertise)
- Three.js with react-three-fiber (learnable)
- Tailwind CSS (team knows)
- React Router v6
- Node.js with Express.js (team expertise)
- Supabase (PostgreSQL) + Prisma ORM (team knows)
- JWT Authentication with Supabase Auth
- Python with kociemba library for cube solving
- Frontend: Vercel (team knows)
- Backend: Vercel Serverless Functions
- Database: Supabase (team expertise)
cubemate/
βββ frontend/ # React.js application
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Application pages
β β βββ hooks/ # Custom React hooks
β β βββ utils/ # Utility functions
β β βββ store/ # State management
β βββ public/ # Static assets
βββ backend/ # Server application
β βββ src/
β β βββ routes/ # API endpoints
β β βββ models/ # Database models
β β βββ middleware/ # Custom middleware
β β βββ utils/ # Server utilities
β βββ tests/ # Backend tests
βββ solver/ # Cube solving algorithms
β βββ kociemba/ # Kociemba implementation
β βββ computer_vision/ # OpenCV color detection
βββ docs/ # Documentation
βββ deployment/ # Deployment configurations
- Node.js (v16+)
- Python (v3.8+)
- Git and GitHub account
-
Clone the repository
git clone https://github.com/ashvin2005/cubemate.git cd cubemate -
Install all dependencies
npm run install:all
-
Environment Setup
# Copy environment template cp .env.example .env # Add your Supabase credentials
-
Start development
npm run dev
| Name |
|---|
| Ashvin Tiwari |
| Kanishk Kumar Ranjan |
| Aayush Chaturvedi |
| Bharat Singh |
- Project planning and architecture
- Repository setup and Git initialization
- Technology stack selection
- Database schema design (Prisma)
- Basic React app setup with Vite
- Supabase project configuration
- Basic 3D cube rendering with Three.js
- User authentication with Supabase Auth
- Cube state management system
- Python solving algorithm integration
- Mobile-responsive UI design
This is an academic project for semester 3. Team members should:
- Create feature branches for new development
- Follow the established coding conventions
- Write tests for new functionality
- Update documentation as needed
feature/cube-visualization
bugfix/rotation-animation
hotfix/authentication-error
type(scope): description
feat(cube): add 3D rotation animations
fix(auth): resolve JWT token expiration issue
docs(readme): update installation instructions
- Project Idea & Requirements
- API Documentation (Coming Soon)
- Frontend Guide (Coming Soon)
- Backend Guide (Coming Soon)
- Deployment Guide (Coming Soon)
- Live Demo: (Coming Soon)
- Project Presentation: (Coming Soon)
- Design Mockups: (Coming Soon)
This project is created for educational purposes as part of a semester project. All rights reserved to the team members.
- Kociemba algorithm for optimal cube solving
- Three.js community for 3D visualization resources
- OpenCV team for computer vision capabilities
- Our course instructors for guidance and support
Note: This project is actively under development. Features and documentation will be updated regularly as we progress through the semester.