Self-hosted video calling platform with coturn TURN, volunteer scheduling, and admin dashboard. Built for English-conversation practice with Maasai students.
# TalkTime - Empowering Through Conversation
**TalkTime** is a modern, secure, and user-friendly video conferencing platform designed to connect enthusiastic volunteers with Maasai students in Rombo, Kenya. Our mission is to boost English skills and build confidence through friendly, one-on-one video conversations.
This project is built with a focus on simplicity and impact, providing a seamless experience for both volunteers and students. It is proudly supported by the **ADEA Foundation**.
---
## ✨ Features
- **Modern, Responsive UI**: A beautiful, branded interface that looks great on any device.
- **Role-Based Access**: Separate, tailored flows for Volunteers and Students.
- **One-to-One Video Calls**: Direct, secure video connections powered by WebRTC.
- **40-Minute Call Timer**: A built-in timer ensures sessions are focused and consistent, automatically ending the call after 40 minutes.
- **Admin Controls**: Volunteers have administrative privileges during calls.
- **Simple Meeting Links**: Easy-to-use links for joining meetings.
## 🚀 Getting Started
To get a local copy up and running, follow these simple steps.
### Prerequisites
- Node.js (which includes npm)
### Installation
1. **Clone the repository:**
```bash
git clone
github.com
```
2. **Navigate to the project directory:**
```bash
cd talktime-video-app
```
3. **Install NPM dependencies:**
```bash
npm install
```
4. **Start the development server:**
```bash
npm start
```
The application will be running at `
localhost`.
## 📂 Project Structure
| Name | Description |
| :--- | :--- |
| **`public/`** | Contains all static assets for the frontend. |
| ┣ `css/main.css` | Custom stylesheets for the application. |
| ┣ `js/main.js` | Core application logic for the user interface and event handling. |
| ┣ `js/webrtc.js` | Handles all WebRTC peer-to-peer connection logic. |
| ┣ `index.html` | The main landing page for the website. |
| ┣ `app.htm …