Skip to content

Cooperation-org/amebo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

49 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Amebo - AI-Powered Workspace Intelligence

πŸ€– Your Workspace Padi & Gist Partner - Transform scattered workplace conversations and documents into accessible, intelligent insights.

Built with Amazon Q Developer FastAPI Next.js TypeScript

🎯 What is Amebo?

Amebo is an enterprise-grade SaaS platform that serves as your team's intelligent knowledge companion. It transforms your Slack conversations, uploaded documents, and institutional knowledge into a searchable, AI-powered Q&A system.

πŸš€ Key Benefits

  • Instant Knowledge Access - Find answers in seconds, not minutes
  • Context-Aware Intelligence - Understands conversation threads and document relationships
  • Multi-Workspace Support - Manage multiple Slack workspaces from one dashboard
  • Enterprise Security - Multi-tenant architecture with encrypted credential storage
  • Seamless Integration - Works in Slack via /ask commands and web dashboard

πŸ—οΈ Architecture Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Next.js 14    β”‚    β”‚   FastAPI        β”‚    β”‚   PostgreSQL    β”‚
β”‚   Frontend       │◄──►│   Backend        │◄──►│   Database      β”‚
β”‚   Dashboard      β”‚    β”‚   API Server     β”‚    β”‚   Multi-tenant  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚
                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”
                       β”‚                 β”‚
                β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”
                β”‚  ChromaDB   β”‚   β”‚   Slack   β”‚
                β”‚  Vector DB  β”‚   β”‚    API    β”‚
                β”‚  Semantic   β”‚   β”‚ Real-time β”‚
                β”‚   Search    β”‚   β”‚   Sync    β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“ Project Structure

slack-helper/
β”œβ”€β”€ πŸ“‚ backend/              # Python FastAPI backend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ api/             # REST API routes
β”‚   β”‚   β”œβ”€β”€ services/        # Business logic
β”‚   β”‚   β”œβ”€β”€ db/              # Database connections
β”‚   β”‚   └── models/          # Data models
β”‚   β”œβ”€β”€ requirements.txt     # Python dependencies
β”‚   └── README.md           # Backend setup guide
β”œβ”€β”€ πŸ“‚ frontend/             # Next.js 14 frontend
β”‚   β”œβ”€β”€ app/                # App router pages
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/     # React components
β”‚   β”‚   β”œβ”€β”€ hooks/          # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ lib/            # Utilities & API client
β”‚   β”‚   └── store/          # State management
β”‚   β”œβ”€β”€ package.json        # Node dependencies
β”‚   └── README.md          # Frontend setup guide
β”œβ”€β”€ πŸ“‚ docs/                # Documentation
β”‚   β”œβ”€β”€ ARCHITECTURE.md     # System architecture
β”‚   β”œβ”€β”€ API.md             # API documentation
β”‚   └── DEPLOYMENT.md      # Deployment guide
└── README.md              # This file

πŸš€ Quick Start

Prerequisites

  • Python 3.9+
  • Node.js 18+
  • PostgreSQL 13+
  • Slack App with Bot Token

1. Clone Repository

git clone <repository-url>
cd slack-helper

2. Backend Setup

cd backend
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt

# Set environment variables
cp .env.example .env
# Edit .env with your database and API keys

# Start backend
python run_server.py

3. Frontend Setup

cd frontend
npm install

# Set environment variables
cp .env.example .env.local
# Edit .env.local with your API URL

# Start frontend
npm run dev

4. Access Application

🎯 Core Features

βœ… Intelligent Q&A System

  • Natural language processing with Anthropic Claude
  • Context-aware responses from Slack messages and documents
  • Source attribution with confidence scoring
  • Real-time search across indexed content

βœ… Multi-Workspace Management

  • Secure workspace isolation with 4-layer architecture
  • Multiple Slack workspace integration per organization
  • Encrypted credential storage using Fernet encryption
  • Automated message backfilling with configurable schedules

βœ… Document Intelligence

  • Multi-format support (PDF, DOCX, TXT, Markdown)
  • Automatic text extraction and chunking
  • Vector indexing for semantic search
  • Workspace-specific document tagging

βœ… Team Collaboration

  • Role-based access control (Admin, Member, Viewer)
  • User invitation system with email notifications
  • Team management with activation/deactivation
  • Organization-level settings and AI configuration

βœ… Enterprise Security

  • Multi-tenant data isolation
  • JWT authentication with secure token handling
  • Encrypted credential storage
  • CORS protection and input validation

πŸ› οΈ Technology Stack

Backend

  • FastAPI - High-performance Python web framework
  • PostgreSQL - Relational database for structured data
  • ChromaDB - Vector database for semantic search
  • APScheduler - Background task automation
  • Slack SDK - Real-time Slack integration
  • Anthropic Claude - AI language model for Q&A

Frontend

  • Next.js 14 - React framework with App Router
  • TypeScript - Type-safe JavaScript
  • Tailwind CSS - Utility-first CSS framework
  • shadcn/ui - Modern React component library
  • TanStack Query - Data fetching and caching
  • Zustand - Lightweight state management

Infrastructure

  • Docker - Containerization
  • PostgreSQL - Primary database
  • ChromaDB - Vector embeddings storage
  • JWT - Authentication tokens

πŸ“š Documentation

🀝 Contributing

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

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments


Made with ❀️ and Amazon Q Developer

Releases

No releases published

Packages

No packages published

Contributors 5