A safe space for mental health support and creative expression, built with Next.js and Supabase.
- User friendly UI.
- Mood Diary with emoji tracking and visualization
- Anonymous Confession Wall
- Peer Support Chat (moderated).
- Creative Space for anonymous content posting.
- Node.js 18+ and npm
- Supabase account
- OpenRouter API key (for AI chat functionality)
- Clone the repository:
git clone https://github.com/Jabir-Srj/mindlink2.git
cd mindlink2- Install dependencies:
npm install-
Create a Supabase project:
- Go to Supabase and create a new project
- Once created, go to Project Settings > API
- Copy your project URL and anon key
-
Get an OpenRouter API key:
- Go to OpenRouter
- Create an account and generate an API key
- This key will be used for the AI chat functionality
-
Set up environment variables:
- Copy
.env.exampleto.env.local:cp .env.example .env.local
- Fill in your credentials in
.env.local:NEXT_PUBLIC_SUPABASE_URL=your-project-url NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key NEXT_PUBLIC_OPENROUTER_API_KEY=your-openrouter-api-key - Never commit
.env.localor any other.envfiles to version control - The
.env.examplefile serves as a template for required environment variables
- Copy
-
Set up your Supabase database tables:
- mood_entries (date, mood, note)
- confessions (content)
- chat_messages (content)
- creative_uploads (file_name, description)
-
Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
- id: uuid (primary key)
- date: timestamp
- mood: integer
- note: text
- user_id: uuid (foreign key to auth.users)
- id: uuid (primary key)
- content: text
- created_at: timestamp
- user_id: uuid (foreign key to auth.users)
- id: uuid (primary key)
- content: text
- created_at: timestamp
- user_id: uuid (foreign key to auth.users)
- id: uuid (primary key)
- file_name: text
- description: text
- created_at: timestamp
- user_id: uuid (foreign key to auth.users)
- All user data is protected with Row Level Security (RLS)
- Anonymous uploads are stored securely
- Chat messages are moderated by peer mentors
- User authentication is handled by Supabase Auth
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.