Skip to content

Ravindu56/Amigo

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌿 Amigo β€” Team Meeting Platform

A distraction-free, calm & collaborative video meeting platform built with React, Node.js, Socket.IO, and WebRTC.

License Stack


πŸ“‹ Table of Contents


Overview

Amigo is a full-stack video conferencing web application designed to reduce meeting fatigue and help teams collaborate effectively. It supports HD video calls, real-time chat, screen sharing, meeting scheduling, session recording, and team management β€” all in a clean, warm UI.


Features

  • πŸŽ₯ HD Video Calls β€” Peer-to-peer WebRTC video with adaptive quality
  • πŸ’¬ In-Room Chat β€” Real-time messaging during meetings via Socket.IO
  • πŸ–₯️ Screen Sharing β€” Share your full screen or a specific window
  • πŸ“… Meeting Scheduling β€” Schedule meetings with date, time and participant management
  • πŸ“Ό Session Recording β€” Record meetings locally and save metadata to the server
  • πŸ‘₯ Team Management β€” Create and manage team members
  • πŸ” Authentication β€” Secure JWT-based auth with HTTP-only cookies
  • πŸ‘€ User Profile & Settings β€” Update personal info and preferences
  • πŸ“Š Dashboard β€” Overview of upcoming meetings, history, and quick actions

Tech Stack

Layer Technology
Frontend React 18, Vite, Tailwind CSS, React Router v6
Realtime Socket.IO (WebRTC signaling + chat)
Video WebRTC (native browser APIs)
Backend Node.js, Express.js
Database PostgreSQL via Sequelize ORM
Auth JWT, HTTP-only cookies, bcrypt
Deployment Vercel (frontend), Render/Railway (backend)

Project Structure

Amigo/
β”œβ”€β”€ amigo-frontend/       # React + Vite frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/   # Reusable UI components (Header, AuthForm, ProtectedRoute…)
β”‚   β”‚   β”œβ”€β”€ context/      # AuthContext β€” global auth state
β”‚   β”‚   β”œβ”€β”€ pages/        # Route-level page components
β”‚   β”‚   β”œβ”€β”€ services/     # API client (api.js)
β”‚   β”‚   └── design-tokens.js
β”‚   └── README.md
β”‚
β”œβ”€β”€ amigo-backend/        # Express + Socket.IO backend
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   β”œβ”€β”€ models/       # Sequelize models
β”‚   β”‚   β”œβ”€β”€ routes/       # REST API route handlers
β”‚   β”‚   └── controllers/  # Business logic
β”‚   β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ server.js         # Express app + Socket.IO signaling
β”‚   └── README.md
β”‚
└── README.md             # ← You are here

Getting Started

Prerequisites

  • Node.js v18+
  • PostgreSQL database
  • npm or yarn

1. Clone the repository

git clone https://github.com/Ravindu56/Amigo.git
cd Amigo

2. Set up the backend

cd amigo-backend
npm install
cp .env.example .env
# Fill in your .env values (see Environment Variables below)
npm run dev

3. Set up the frontend

cd amigo-frontend
npm install
cp .env.example .env
# Fill in your .env values
npm run dev

The frontend runs on http://localhost:5173 and the backend on http://localhost:5000.


Environment Variables

See amigo-backend/.env.example and amigo-frontend for all required variables. Key ones:

Variable Where Description
DATABASE_URL backend PostgreSQL connection string
JWT_SECRET backend Secret key for signing JWTs
FRONTEND_URL backend Allowed CORS origin (your frontend URL)
VITE_API_URL frontend Backend API base URL
VITE_SOCKET_SERVER frontend Socket.IO server URL

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit your changes: git commit -m 'feat: add your feature'
  4. Push to the branch: git push origin feature/your-feature
  5. Open a Pull Request

Made with 🌿 by the Amigo team

About

# 🀝 Amigo **Amigo** is a web-based video conferencing application designed to bring people together. It features real-time high-quality video calling with an integrated chat interface, allowing users to text and trade messages seamlessly while conversing face-to-face. Built to facilitate smooth communication for friends, study groups, and teams.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 94.6%
  • CSS 5.3%
  • HTML 0.1%