SynergySphere is a comprehensive team collaboration platform designed to streamline project management, task tracking, team communication, and resource coordination. Built with a modern tech stack, it provides both desktop and mobile-ready interfaces for seamless collaboration.
SynergySphere addresses key pain points experienced by teams:
- Scattered Information: Centralized hub for files, chats, and decisions
- Unclear Progress: Real-time task and project status visibility
- Resource Confusion: Clear task assignments and team coordination
- Deadline Surprises: Proactive task tracking with due dates
- Communication Gaps: Threaded discussions and project-specific communication
-
User Authentication
- Secure login/registration system
- JWT-based authentication
- Password management
-
Project Management
- Create and manage projects
- Project status tracking (active, completed, on hold, archived)
- Project-specific dashboards
-
Task Management
- Create, edit, and delete tasks
- Task status tracking (todo, in progress, done, blocked)
- Due date management with overdue indicators
- Task assignment (foundation ready for team expansion)
-
Team Communication
- Project-specific threaded discussions
- Real-time messaging system
- Team member management
-
User Profile & Settings
- Personal task overview
- Profile management
- Password change functionality
-
Notification System
- Real-time notifications
- Notification bell with unread count
- Mark as read functionality
-
Responsive Design
- Mobile-first approach
- Desktop and tablet optimized
- Touch-friendly interfaces
- React 19 - Modern UI framework
- React Router - Client-side routing
- React Query - Data fetching and caching
- React Hot Toast - Notification system
- Tailwind CSS - Utility-first styling
- Vite - Fast build tool
- Node.js with Express - Server framework
- PostgreSQL - Database
- JWT - Authentication
- bcrypt - Password hashing
- CORS - Cross-origin requests
SynergySphere-OdooXNMIT/
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # React components
│ │ │ ├── Dashboard.jsx
│ │ │ ├── ProjectDetail.jsx
│ │ │ ├── TaskCreationModal.jsx
│ │ │ ├── TaskDetailModal.jsx
│ │ │ ├── Login.jsx
│ │ │ ├── Register.jsx
│ │ │ ├── UserProfile.jsx
│ │ │ └── Home.jsx
│ │ ├── context/ # React context
│ │ │ └── AuthContext.jsx
│ │ ├── services/ # API services
│ │ │ └── api.js
│ │ ├── App.jsx # Main application component
│ │ ├── main.jsx # Application entry point
│ │ └── index.css # Global styles
│ ├── package.json
│ └── vite.config.js
└── server/ # Backend Node.js application
├── routes/ # API routes
│ ├── auth.routes.js
│ ├── projects.routes.js
│ ├── tasks.routes.js
│ ├── threads.routes.js
│ ├── messages.routes.js
│ ├── notifications.routes.js
│ ├── members.routes.js
│ └── users.routes.js
├── middleware/ # Express middleware
│ └── auth.js
├── db.js # Database connection
├── server.js # Server entry point
└── package.json
POST /auth/register- User registrationPOST /auth/login- User loginGET /auth/me- Get current user profilePATCH /auth/password- Change password
GET /projects- List user's projectsPOST /projects- Create new projectGET /projects/:id- Get project detailsPATCH /projects/:id- Update projectDELETE /projects/:id- Delete project
GET /projects/:projectId/tasks- List project tasksPOST /projects/:projectId/tasks- Create new taskGET /tasks/:taskId- Get task detailsPATCH /tasks/:taskId- Update taskDELETE /tasks/:taskId- Delete taskGET /me/tasks- Get user's assigned tasks
GET /projects/:projectId/threads- List discussion threadsPOST /projects/:projectId/threads- Create new threadGET /threads/:threadId/messages- List thread messagesPOST /threads/:threadId/messages- Post new message
GET /notifications- List user notificationsPATCH /notifications/:id/read- Mark notification as readPOST /notifications/read-all- Mark all as read
- Node.js (v16 or higher)
- PostgreSQL (v12 or higher)
- npm or yarn
-
Navigate to the server directory:
cd server -
Install dependencies:
npm install
-
Set up environment variables:
# Create .env file with: PORT=5001 JWT_SECRET=your_secret_key DB_HOST=localhost DB_PORT=5432 DB_NAME=synergysphere DB_USER=your_db_user DB_PASSWORD=your_db_password -
Set up the database:
node setup-db.js
-
Start the server:
npm start
-
Navigate to the client directory:
cd client -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open http://localhost:5173 in your browser
- Register: Create a new account or login with existing credentials
- Dashboard: View your projects overview and stats
- Create Project: Use the "New Project" button to create your first project
- Add Tasks: Within each project, create and manage tasks
- Team Communication: Use the discussions tab for project-specific communication
- Notifications: Stay updated with the notification bell in the navigation
- Optimized for touch interactions
- Responsive design adapts to screen sizes
- Easy navigation with mobile-friendly buttons
- Swipe and tap gestures supported
- Mobile-first approach: Designed primarily for mobile usage
- Desktop enhancement: Rich desktop experience with additional features
- Touch optimization: 44px minimum touch targets for iOS compliance
- Fluid layouts: CSS Grid and Flexbox for responsive layouts
- Status tracking: Visual indicators for task progress
- Due date management: Color-coded overdue indicators
- Quick actions: Update task status with dropdown menus
- Detailed views: Comprehensive task editing modals
- Instant notifications: Get notified of important events
- Live updates: Dynamic content updates without page refresh
- Responsive feedback: Toast notifications for user actions
- JWT Authentication: Secure token-based authentication
- Password hashing: bcrypt for secure password storage
- Protected routes: Frontend route protection
- Input validation: Server-side input validation
- Chrome (recommended)
- Firefox
- Safari
- Edge
- Mobile browsers (iOS Safari, Chrome Mobile)
SynergySphere - Orchestrate Operations. Accelerate Growth.