A modern, responsive, and feature-rich online learning platform
Built with React, TypeScript, Vite & TailwindCSS
A full-featured e-learning platform with complete user panel, course management, articles, reservations, likes, ratings, and profile management.
H-One Academy is a complete online learning platform designed and developed to deliver a smooth, modern, and practical learning experience. This project includes:
- ๐ฏ Professional landing page with course & article sliders
- ๐ Course listing with filtering, search, pagination, and sorting
- ๐ฐ News & articles with rating and comment system
- ๐ค Complete user panel with profile management
- ๐ Multi-step authentication system (Register / Login / Forget Password)
- ๐ Dark / Light / System theme support
- ๐ฑ Fully responsive and optimized for mobile & desktop
- ๐ฎ๐ท Full RTL support and Persian language
๐ https://behshahr.vercel.app
- Hero slider
- Academy services
- Statistics section
- Educational categories
- Courses & articles sliders
- Instructors section
- Suggestions & feedback form
- Contact us form
- Responsive grid layout
- Filter by technology, level, type, price
- Fast search
- Advanced pagination
- Course details page
- Like / Dislike / Rating
- Course reservation
- Comments section with submission
- Responsive grid
- Filtering and search
- Rating and likes
- Article details page
- Comment system
- ๐ Statistical dashboard with charts
- ๐ฅ Full profile editing
- ๐ผ๏ธ Upload / select / delete profile images (Slider gallery)
- ๐ My Courses
- ๐ซ Reserved Courses
- โค๏ธ Favorite Courses
- ๐ฌ My Comments
- Login with email or phone number
- 3-step registration:
- Submit email + phone number
- Verify sent code
- Set password
- Password recovery via email link
- Protected Routes for user panel
- Light / Dark / System theme
- Smooth animations
- Loading skeletons
- Toast notifications
- Beautiful modals
- Fully RTL
| Category | Technology |
|---|---|
| Framework | React 18 + TypeScript |
| Build Tool | Vite |
| Styling | Tailwind CSS + DaisyUI |
| UI Components | Material UI (MUI) |
| State Management | Jotai + Zustand |
| Routing | React Router v6 |
| HTTP Client | Axios |
| Forms | Formik + Yup |
| Charts | ApexCharts |
| Sliders | Swiper.js |
| Icons | React Icons |
| Notifications | React Toastify |
| Date | Jalali Moment + React Multi Date Picker |
| Deployment | Vercel |
BEHSHAHR/
โโโ public/
โโโ src/
โ โโโ app/
โ โโโ assets/
โ โโโ components/
โ โ โโโ Auth/
โ โ โโโ ArticlesDetails/
โ โ โโโ CoursesDetails/
โ โ โโโ CoursesList/
โ โ โโโ ForgetPasswordForm/
โ โ โโโ Landing/
โ โ โโโ NewsArticles/
โ โ โโโ common/
โ โ โโโ NotFound/
โ โโโ context/
โ โ โโโ context/
โ โ โโโ jotai/
โ โ โโโ zustand/
โ โโโ core/
โ โ โโโ api/
โ โ โโโ provider/
โ โโโ routes/
โ โโโ screens/
โ โ โโโ layout/
โ โโโ types/
โ โโโ userpanel/
โ โ โโโ components/
โ โ โ โโโ BasicTables/
โ โ โ โโโ Dashboard/
โ โ โ โโโ dropdown/
โ โ โ โโโ header/
โ โ โ โโโ UserProfile/
โ โ โโโ pages/
โ โ โโโ AppHeader.tsx
โ โ โโโ AppLayout.tsx
โ โ โโโ AppSidebar.tsx
โ โโโ main.tsx
โ โโโ index.css
โโโ .env.local
โโโ vercel.json
โโโ tailwind.config.js
โโโ tsconfig.json
โโโ vite.config.ts
- Node.js
>= 18 - npm or yarn
1. Clone the repository
git clone https://github.com/AbbasRostami/H-One.git
cd H-One2. Install dependencies
npm install3. Create env file
Create a .env.local file in the project root:
VITE_BASE_URL=Base-URL4. Run in development mode
npm run dev5. Build for production
npm run build6. Preview the build
npm run previewThe project uses Vercel Rewrites to handle Mixed Content issues:
{
"rewrites": [
{
"source": "/api/:path*",
"destination": "baseURL/:path*"
},
{
"source": "/(.*)",
"destination": "/index.html"
}
]
}In production, API requests go to /api/* and Vercel proxies them to the backend server, resolving HTTPS โ HTTP mixed content restrictions.
- Landing page design & implementation
- Complete authentication system
- Course listing with filters & pagination
- Article listing with filters & pagination
- User panel
- Dark mode support
- Deployment on Vercel
- Add unit tests with Vitest
- SEO optimization
- PWA support
- i18n for English language
Contributions are welcome! If you find a bug or have a suggestion:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License.
โญ If this project helped you, please give it a star!
Made with โค๏ธ by Abbas Rostami