Shosti is our SPL-2 project that provides a web platform for mental health and well-being. It includes a resource library, session booking, and mindfulness exercises, offering a secure, user-friendly space for individuals, mental health professionals, and administrators to access support and resources.
-
User Authentication
- Separate authentication flows for attendees and mental health professionals
- Secure password reset functionality
- Admin dashboard for platform management
-
Real-time Communication
- Video calling capabilities for virtual sessions
- Secure room creation for private consultations
- Interactive session management
-
Resource Management
- Mental health professionals can share educational resources
- Attendees can access various mental health resources
- Resource library with categorized content
-
Dashboard Systems
- Attendee Dashboard: View professionals, manage sessions, access resources
- MHP Dashboard: Manage sessions, share resources, handle appointments
- Admin Dashboard: Overall platform management and monitoring
- Next.js 13+ (App Router)
- React
- Tailwind CSS
- Shadcn UI Components
- WebRTC for video calls
- Node.js
- Express.js
- MongoDB
- JWT Authentication
shosti/
├── client/ # Next.js frontend application
│ ├── app/ # App router pages and layouts
│ ├── components/ # Reusable React components
│ └── lib/ # Utility functions and API handlers
│
└── server/ # Express.js backend application
├── controllers/ # Request handlers
├── models/ # Database models
├── routes/ # API routes
└── services/ # Business logic and external services
- Node.js 16.x or later
- MongoDB
- npm or yarn
- Clone the repository:
git clone [repository-url]- Install frontend dependencies:
cd client
npm install- Install backend dependencies:
cd server
npm install-
Set up environment variables:
- Copy
example.envto.envin the server directory - Configure your environment variables
- Copy
-
Start the development servers:
Frontend:
cd client
npm run devBackend:
cd server
npm run devNEXT_PUBLIC_API_URL=http://localhost:5000
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
EMAIL_SERVICE=your_email_service
EMAIL_USER=your_email_user
EMAIL_PASS=your_email_password
- Browse and connect with mental health professionals
- Book and manage virtual sessions
- Access educational resources
- Track progress and session history
- Manage availability and session schedules
- Share educational resources
- Conduct virtual sessions
- Track client interactions
- Monitor platform activity
- Manage user accounts
- Review and approve MHP applications
- Access analytics and reports
- End-to-end encrypted video calls
- Secure user authentication
- Protected personal information
- Regular security audits
- 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.
- Built with Next.js and Express.js
- UI components from Shadcn UI
- Video calling implemented with WebRTC
- Styled with Tailwind CSS