Skip to content

Rafiul29/apexlearning-client

Repository files navigation

Apex Learning

Apex Learning is a modern, high-performance web application built with Next.js 16 and React 19. It serves as the frontend for the Apex Learning platform, providing a seamless and interactive experience for tutors and students.


🔗 Project Links


🚀 Key Features

  • Tutor Management: Discover and book top-rated tutors.
  • Availability Scheduling: Dynamic availability management for tutors.
  • Category Browsing: Explore courses and tutors by category.
  • Responsive Dashboard: Specialized dashboards for users and admins.
  • Real-time Notifications: Instant feedback using Sonner.
  • Modern UI/UX: Built with Radix UI and Tailwind CSS 4 for a premium feel.
  • Role-Based Access: Specialized interfaces for Admin, Tutor, and Student.

🛠️ Technology Stack

🏗️ Next.js Implementation

This project leverages the latest Next.js features for optimal performance:

  • Server Components: Used by default for data fetching to reduce client-side JavaScript.
  • Client Components: Used for interactive elements (forms, buttons, charts).
  • Server Actions: Located in the @/actions directory, handling mutations, data synchronization, and validation without manual API calls.

⚡ Next.js Caching Implementation

We implement a sophisticated caching strategy using Next.js Data Cache and Tag-based Revalidation:

  • Predictable Fetching: Data fetching is handled in @/services using the native fetch API.
  • Cache Tags: Every fetch request is tagged (e.g., tags: ["Categories"]).
  • On-demand Revalidation: When data is modified via Server Actions, we use revalidateTag("TagName") to purge the specific cache and ensure users see the latest data instantly.
// Example: Revalidating after an update
revalidateTag("Categories");

🛠️ Getting Started

Prerequisites

  • Node.js 20+
  • npm / yarn / pnpm

Installation

  1. Clone the repository:
    git clone [repository-url]
  2. Install dependencies:
    npm install
  3. Set up environment variables: Create a .env file based on .env.example.

Development

Run the development server:

npm run dev

Open http://localhost:3000 with your browser to see the result.

🛡️ Best Practices

  • Atomic Design: Components are kept small and reusable.
  • Type Safety: Full TypeScript integration across the entire codebase.
  • Performance: Optimized images and fonts using Next.js built-in components.

Built with ❤️ by Apex Learning Team

  • Review: Student feedback for tutor sessions.

📝 License

This project is ISC licensed.

About

A comprehensive full-stack platform connecting students with expert tutors. Features real-time booking, session tracking, and a robust admin dashboard.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages