Dialogues @ Beloit is a modern, anonymous-first discussion platform designed for the Beloit College community. It provides a safe, engaging space for students to share thoughts, ask questions, and connect with peers in a visually stunning, dark-themed environment.
- 🚀 Real-time Discussions: Start conversations instantly with location tagging and topic categorization.
- 💬 Threaded Comments: Engage in deep discussions with a reddit-style nested comment system.
- 🗳️ Community Voting: Upvote or downvote posts and comments to surface the best content.
- 🔒 Secure Authentication: Seamless sign-up and login powered by Supabase Auth.
- 🎨 Premium UI/UX: A sleek, dark-mode interface featuring particle physics backgrounds and glassmorphism effects.
- 📱 Fully Responsive: Optimized for a flawless experience on mobile, tablet, and desktop.
- 🛡️ Moderation Tools: Authors can close discussions to manage conversation flow.
- Frontend: Next.js 14 (App Router), React
- Language: TypeScript
- Styling: Tailwind CSS, Lucide Icons
- Backend & Auth: Supabase
- Database: PostgreSQL (via Supabase)
For detailed information about the application architecture, workflows, and implementation:
👉 View Complete Workflow Documentation
The documentation includes:
- System architecture diagrams
- Authentication flow
- Main application workflows (browse, create, comment, vote)
- Database schema and relationships
- Component hierarchy
- Security implementation
- Deployment guide
Follow these steps to get the project running locally.
- Node.js 18+
- npm or yarn
- A Supabase account
Check out the live application here: https://dialogues-beloit.vercel.app/
-
Install dependencies
npm install
-
Environment Setup Create a
.env.localfile in the root directory and add your Supabase credentials:NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Database Setup Run the SQL scripts provided in
schema.sql(andmigration.sqlfor cascade deletes) in your Supabase SQL Editor to set up the tables and security policies. -
Run the development server
npm run dev
-
Open the app Visit http://localhost:3000 in your browser.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.