A secure anonymous chat application built with Flask and Supabase. Features dark theme, message linking, and real-time updates.
- Anonymous chat with auto-generated nicknames
- Supabase backend for message storage
- Dark theme with responsive design
- Message permalinks with copy functionality
- Rate limiting and input validation
- Real-time message updates
- Secure environment configuration
- Python 3.8+
- Supabase account
- Git
- PIP package manager
- Clone the repository:
git clone https://github.com/synthous/flaverse.git
cd flaverse- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt-
Create Supabase project:
- Go to Supabase Dashboard
- Create new project
- Create
messagestable with:CREATE TABLE messages ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), nickname TEXT NOT NULL, message TEXT NOT NULL, created_at TIMESTAMPTZ DEFAULT NOW() );
- Enable RLS with policies:
CREATE POLICY "Allow public insert" ON messages FOR INSERT WITH CHECK (true); CREATE POLICY "Allow public select" ON messages FOR SELECT USING (true);
-
Create
.envfile:
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key
FLASK_ENV=developmentexport FLASK_APP=app.py # On Windows: set FLASK_APP=app.py
flask runAccess the application at: http://localhost:5000
-
Recommended Host: Render.com
- Create new Web Service
- Connect your GitHub repository
- Add environment variables:
SUPABASE_URLSUPABASE_KEYFLASK_ENV=production
-
Custom Domain (Optional):
- Configure DNS settings
- Add SSL via Cloudflare
- Set up proper caching headers
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open Pull Request
Distributed under the MIT License. See LICENSE for more information.
- Built with Flask
- Powered by Supabase
- Icons by Font Awesome