The official web interface for the BDC Platform — AI-Powered Microservices LMS. This application provides a minimalist, high-performance user experience built with Next.js, specifically designed for the Big Data Club ecosystem.
This repository houses the frontend layer that interacts with multiple microservices, including Auth, LMS, and AI-driven agents. It follows a "Basic is the Best" design philosophy, focusing on formal aesthetics and functional clarity.
- Learning Management System (LMS): Comprehensive tools for course navigation, interactive quizzes, and flashcard-based learning.
- AI Mentor & Assistant: Integrated intelligent agents providing personalized study plans and real-time concept explanations.
- Admin Dashboard: Centralized management for user roles, system permissions, and LLM provider configurations.
- Events & Hackathon: Dedicated landing pages and registration systems for club activities like Hackathon 2025.
- Framework: Next.js (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Authentication: NextAuth.js with Google OAuth2 support/authOptions.ts]
- State Management: React Context & Hooks
- Node.js 18.x or higher
- npm or yarn
-
Clone the repository:
git clone [https://github.com/Big-Data-Club/BDCHub---Frontend.git](https://github.com/Big-Data-Club/BDCHub---Frontend.git) cd BDCHub---Frontend -
Install dependencies:
npm install
-
Configure Environment Variables: Create a
.env.localfile in the root directory and update the backend service URLs:cp .env.example .env.local
-
Run the development server:
npm run dev
You can run the frontend standalone using Docker for consistency across environments.
docker-compose -f docker-compose.frontend.yml up -d
The application will be accessible at http://localhost:3000.
The following variables are required for full system functionality:
BACKEND_URL: Primary Auth and Management service endpoint.LMS_API_URL: Go-based LMS backend endpoint.AI_SERVICE_URL: FastAPI-based AI service endpoint.NEXTAUTH_SECRET: Secret key for session encryption.NEXT_PUBLIC_GOOGLE_CLIENT_ID: Google OAuth client ID.
- Linting: All code must pass ESLint checks before submission.
- Git Workflow: Follow the
feature/andfix/naming conventions for branches. - UI/UX: Adhere to the club's "Minimal & Formal" design rhythm.
© 2026 Big Data Club - HCMUT. All rights reserved.