🌐 Live Website:
SayEasy is an innovative online tutor booking platform designed to connect language learners with skilled tutors worldwide. Whether you're a learner looking for a tutor or a tutor wanting to teach, SayEasy makes the process seamless and efficient.
With live virtual classrooms, secure booking & payment systems, and customized learning plans, SayEasy empowers individuals to break language barriers, promote cultural exchange, and make learning accessible to everyone.
- SayEasy 🎓 – Online Tutor Booking Platform
✅ Learn or Teach – Users can register as language learners or tutors, and can switch roles anytime.
✅ Advanced search filters to find tutors based on language, availability, and expertise.
✅ One-time tutor booking per language category to maintain structured learning.
✅ Student reviews – Learners can review their tutors after booking.
✅ Add Tutorials – Users can create & upload tutorials to share knowledge.
✅ Update Tutorials – Modify or enhance existing tutorials to keep content up to date.
✅ Delete Tutorials – Remove outdated or unnecessary tutorials.
✅ Fully responsive design for all devices (mobile, tablet, desktop).
✅ JWT (JSON Web Token) authentication for secure user data.
| Technology | Purpose |
|---|---|
| React.js | Frontend Framework |
| Vite | Development & Build Tool |
| Firebase | Authentication & Database |
| Axios | API Requests |
| React Query | State Management |
| Tailwind CSS & DaisyUI | Styling |
| Swiper.js | Interactive Carousel |
| Framer Motion & Lottie React | Animations |
| React Router | Navigation |
- Git (for cloning the repository)
- Node.js (>=16.0.0)
- npm or yarn package manager
- Clone the repository:
git clone https://github.com/nodeNINJAr/sayEasy-client cd sayeasy-client - Install dependencies:
npm install
- Create a
.envfile and configure the required environment variables (see Environment Variables). - Start the development server:
npm run dev
- Start the development server:
npm run dev
- Build for production:
npm run build
- Preview production build:
npm run preview
- Run ESLint for code linting:
npm run lint
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run preview |
Preview the production build |
npm run lint |
Run ESLint for code quality |
Create a .env file in the root directory and configure the following:
VITE_base_url=your-backend-api-url
VITE_LOCAL_BASE_URL=your-local-api-url
# Firebase Configuration
VITE_FIREBASE_API_KEY=your-firebase-api-key
VITE_FIREBASE_AUTH_DOMAIN=your-firebase-auth-domain
VITE_FIREBASE_PROJECT_ID=your-firebase-project-id
VITE_FIREBASE_STORAGE_BUCKET=your-firebase-storage-bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your-firebase-messaging-sender-id
VITE_FIREBASE_APP_ID=your-firebase-app-idFor detailed Firebase setup, refer to Firebase Docs.
- Port Conflicts?
Change the port by running:vite --port 3001
- Dependency Issues?
Deletenode_modulesand reinstall:rm -rf node_modules package-lock.json && npm install - Environment Variables Not Loading?
Ensure that your.envfile is correctly formatted and included in.gitignore.
We welcome contributions! Follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature-branch) - Commit your changes (
git commit -m "Add new feature") - Push to the branch (
git push origin feature-branch) - Open a Pull Request