This document provides an overview of the directory structure and setup instructions for the Light application — an AI-powered, peer-to-peer education platform.
To get started, clone the repository:
git clone https://github.com/Jerryblessed/light.git
cd lightEach subdirectory within the repo serves a specific microservice for the application. Follow the instructions below to run each component.
- Main web application.
- Integrates all Light features (chat, image generation, courses, video) using
<iframe>tags. - Frontend built with React and Vite.
- Configure and launch this app after ensuring all services below are running.
- Real-time chat component powered by Gemini API.
- Users can chat while watching educational videos.
- Must be running on localhost before using
light_app/pages/chat.js.
- Hosts educational video content and course-related resources.
- Required for exploring curated content in
light_app/pages/course.js.
- Image generation tool powered by Google's Imagen API.
- Used to create visual aids for learning.
- Integrates into
light_app/pages/image.js.
- Enables users to upload and host videos via the Theta Network.
- Supports peer-to-peer delivery of video content.
- Ensure it is running for
light_app/pages/video.jsto work correctly.
-
Clone the Repository
git clone https://github.com/Jerryblessed/light.git cd light -
Install Dependencies in Each Subdirectory For example, to run the main app:
cd light_app npm install npm run dev -
Start All Services Ensure all supporting services (
light_chat,light_course,light_image_gen,light_video_uploader) are running locally before launchinglight_app. -
Configure Pages
- Navigate to
light_app/pages/and update iframe URLs or API routes as needed to point to the correct local ports for each service.
Example default ports:
light_chat: http://localhost:3001light_course: http://localhost:3002light_image_gen: http://localhost:3003light_video_uploader: http://localhost:3004
- Navigate to
- The main app (
light_app) is deployed using Vercel. - Other microservices are intended for local execution or can be containerized for deployment.
Optional:
- A
docker-compose.ymlfile will be added to simplify running all services in containers.
For more details, visit the GitHub repo or watch the demo video.