Zuvy is a modern, role-based learning platform designed to provide an engaging and seamless educational experience. It supports multiple user roles including students, instructors, and administrators, each with tailored dashboards and functionalities.
Zuvy enables users to embark on their learning journey quickly and efficiently. The platform features authentication, course management, curriculum building, live classes, resource libraries, and more. It is built with a focus on rich user interfaces, responsive design, and smooth user experience.
- Role-based access control (Student, Instructor, Admin)
- User authentication and session management
- Course and curriculum management
- Live class scheduling and recording
- Resource library with various content types (coding, MCQ, open-ended)
- Notifications and alerts
- Responsive UI with modern components and animations
- Framework: Next.js 14 with React 18
- Language: TypeScript
- Styling: Tailwind CSS, styled-components, tailwindcss-animate
- State Management: Zustand
- UI Libraries: Radix UI, Headless UI, NextUI, Shadcn UI
- Forms: React Hook Form, Zod for validation
- Rich Text Editing: TipTap, Draft.js, React Draft WYSIWYG
- HTTP Client: Axios
- Other Libraries: React Table, React Toastify, Framer Motion, Moment.js, Date-fns
- Node.js (v16 or later recommended)
- npm or yarn package manager
-
Clone the repository:
git clone <repository-url> cd zuvy-client
-
Install dependencies:
npm install # or yarn install -
Create a
.env.localfile in the root directory and add necessary environment variables (e.g., API URLs, authentication keys).
Start the development server:
npm run dev
# or
yarn devOpen http://localhost:3000 in your browser to view the app.
To build the app for production:
npm run build
# or
yarn buildStart the production server:
npm start
# or
yarn startsrc/app/- Main application routes and pages, organized by user roles (admin, instructor, student, auth)src/components/- Reusable UI components and custom hookssrc/store/- Zustand state management storesrc/utils/- Utility functions and API configurationspublic/- Static assets like images, icons, and animations
The project uses Next.js Image component with remote patterns configured for external image sources such as Unsplash, AWS S3, Google, and others.
Contributions are welcome! Please open issues or submit pull requests for improvements and bug fixes.
This project is private and not publicly licensed.
Embark your learning journey with Zuvy in seconds!