A safe space for anonymous conversations. Express yourself freely while maintaining your privacy and connecting with others.
- 🔒 Anonymous messaging
- 🌓 Dark/Light mode
- 🏷️ Message tagging system
- 👍 Reactions and likes
- 💬 Threaded replies
- 🔍 Real-time search
- 🚀 Real-time updates
- 📱 Responsive design
- Frontend Framework: React with TypeScript
- Styling: TailwindCSS with custom brutal design system
- Backend: Supabase
- Real-time: Supabase Realtime
- Icons: Lucide React
- Build Tool: Vite
- Node.js (v14 or higher)
- npm or yarn
- Supabase account
- Clone the repository:
git clone https://github.com/yourusername/chat-anonim.git
cd chat-anonim
- Install dependencies:
npm install
# or
yarn install
- Create a
.env
file in the root directory and add your Supabase credentials:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
- Start the development server:
npm run dev
# or
yarn dev
create table messages (
id uuid default uuid_generate_v4() primary key,
content text not null,
username text not null,
timestamp timestamptz default now(),
tags text[] default '{}',
likes integer default 0,
replies integer default 0,
parent_id uuid references messages(id),
reactions jsonb default '[]'
);
create table message_likes (
id uuid default uuid_generate_v4() primary key,
message_id uuid references messages(id),
user_id text not null,
created_at timestamptz default now(),
unique(message_id, user_id)
);
The project uses a custom "brutal" design system with TailwindCSS:
- Shadow utilities:
.shadow-brutal
,.shadow-brutal-white
- Component classes:
.brutal-button
,.brutal-input
,.brutal-card
- Dark mode support with
.dark
variant - Custom color scheme with primary color
#ff5757
- Anonymous user IDs are generated and stored locally
- No personal information is collected
- Messages are stored in Supabase with RLS policies
- Client-side input validation and sanitization
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Supabase for the backend infrastructure
- TailwindCSS for the styling system
- Lucide for the beautiful icons
- React for the frontend framework
- Copy
.env.example
to.env.local