Skip to content

Latest commit

Β 

History

527 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Nova

Modern Programming E-Learning Platform

A collaborative learning platform for discovering programming courses, reading educational articles, tracking learning progress, and delivering a modern user experience.


🌐 Live Preview

Live Preview

⚠️ Note: The live demo depends on an external backend API. Some dynamic features may be unavailable if the API server is offline


React Vite React Router TanStack Query HeroUI


Programming Courses β€’ Educational Blog β€’ Interactive Dashboard β€’ Responsive Design

πŸ“‘ Table of Contents

πŸ“– About

Nova is a modern web-based Programming E-Learning Platform designed to make learning programming more accessible, engaging, and interactive.

The platform enables users to discover programming courses, reserve courses, read educational articles, interact with instructors, and manage their learning journey through a personalized dashboard. It provides a smooth and intuitive experience while simplifying access to educational resources.

Built with a modern frontend architecture, Nova emphasizes performance, responsiveness, scalability, and maintainability to support future growth and feature expansion.

🌟 Highlights

  • πŸŽ“ Modern programming e-learning platform
  • πŸ“± Fully responsive design
  • πŸŒ™ Dark mode support
  • 🌍 Multi-language interface
  • ⚑ Optimized with TanStack Query
  • πŸŽ™οΈ Integrated voice assistant
  • πŸ’¬ Real-time chat system
  • πŸ› οΈ Nova Admin Panel for full content management

✨ Features

πŸŽ“ Learning Experience

  • Explore programming courses with comprehensive details
  • Reserve courses for future enrollment
  • Search, filter, sort, and paginate course listings
  • Rate courses and discover related learning content
  • Save favorite courses for quick access

πŸ“° Educational Blog

  • Read educational articles across various programming topics
  • Browse articles by category
  • Like and rate blog posts
  • Participate in discussions through comments and replies
  • Save favorite articles

πŸ‘¨β€πŸ’» Personalized Dashboard

  • Manage personal profile and account information
  • Access reserved courses
  • Organize favorite courses and blog posts
  • View notifications and activity history
  • Manage account security settings

πŸš€ Smart Learning Tools

  • Assess programming skills through an interactive level assessment
  • Use the integrated voice assistant for a more interactive experience
  • Communicate through the built-in chat system

πŸ” Authentication & Security

  • User registration and login
  • OTP verification
  • Password recovery and reset
  • Secure account management

🎨 Modern User Experience

  • Fully responsive design
  • Dark mode support
  • Multi-language interface
  • Clean and intuitive user interface
  • Reusable component-based architecture
  • Optimized performance for a smooth user experience

πŸ›  Tech Stack

Nova is built using a modern frontend ecosystem that prioritizes scalability, maintainability, and performance.

Category Technologies
Frontend React 19, Vite (Rolldown)
Language JavaScript (ES6+)
Styling Tailwind CSS v4, HeroUI, DaisyUI
Routing React Router DOM
State Management Zustand, React Context API
Data Fetching Axios, TanStack Query
Forms & Validation React Hook Form, Zod, Yup
Internationalization i18next, React i18next
Animations Framer Motion
Real-time Communication Socket.IO Client
Maps Leaflet, React Leaflet
UI Enhancements Swiper, React Icons, React Hot Toast, React Toastify, Typewriter Effect

πŸ—οΈ Application Architecture

flowchart TD

A[πŸ‘€ User]

A --> B[React Router]

B --> C[Pages]

C --> D[Reusable Components]

D --> E[Hooks & Zustand]

E --> F[TanStack Query]

F --> G[Axios]

G --> H[(REST API)]

C --> I[Authentication]

C --> J[Courses]

C --> K[Blog]

C --> L[Dashboard]

L --> M[Profile]

L --> N[Favorites]

L --> O[Reservations]

J --> P[Course Details]

K --> Q[Article Details]

Q --> R[Comments & Replies]

L --> S[Notifications]

L --> T[Security Settings]
Loading

πŸŽ₯ Demo

Take a quick look at Nova in action.

Nova Demo

πŸ“Έ Screenshots

Explore some of the main pages of Nova.

Courses Course Details Blog

πŸŽ“ Courses Β Β Β Β Β Β  πŸ“– Course Details Β Β Β Β Β Β  πŸ“° Blog


Dashboard

πŸ‘€ User Dashboard

πŸš€ Getting Started

Follow the steps below to run the project locally.

Prerequisites

Make sure you have the following installed:

  • Node.js (v20 or later recommended)
  • npm (or another compatible package manager such as pnpm)

Clone the Repository

git clone https://github.com/react-summer-1404/Nova.git

Install Dependencies

npm install

Configure Environment Variables

Create a .env file in the project root and add the required environment variables.

VITE_API_URL=https://sepehracademy.liara.run

Contact the backend team if you need access to the API endpoints or environment configuration.


Start the Development Server

npm run dev

The application will be available at:

http://localhost:5173

Build for Production

npm run build

Preview the Production Build

npm run preview

πŸ“‚ Project Structure

The project follows a modular and scalable architecture to improve maintainability and collaboration.

src
β”‚
β”œβ”€β”€ assets/          Static assets (images, icons, fonts, etc.)
β”œβ”€β”€ components/      Reusable UI components shared across the application
β”œβ”€β”€ configs/         Global application configuration
β”œβ”€β”€ constants/       Shared constants and static values
β”œβ”€β”€ context/         React Context providers
β”œβ”€β”€ features/        Feature-specific modules (Authentication, Chat, Voice Assistant, etc.)
β”œβ”€β”€ hooks/           Custom React hooks
β”œβ”€β”€ layouts/         Shared page layouts
β”œβ”€β”€ pages/           Route-level pages
β”œβ”€β”€ router/          Application routing configuration
β”œβ”€β”€ services/        API services and server communication
β”œβ”€β”€ store/           Global state management (Zustand)
β”œβ”€β”€ styles/          Global styles
β”œβ”€β”€ utils/           Utility and helper functions
└── main.jsx         Application entry point

🀝 Team

Nova was collaboratively developed by a team of developers as an educational software project.

The project reflects a collaborative effort in designing, implementing, and integrating different parts of a modern programming e-learning platform.


Made with ❀️ by Nova Team

⭐ If you like this project, consider giving it a star on GitHub.

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages