A collaborative platform designed to streamline project management, team communication, and file sharing.
- Overview
- β¨ Features
- πΈ Screenshots
- π οΈ Tech Stack
- π Project Structure
- π Getting Started
- π§ Environment Variables
- π API Documentation
- π Roadmap
- π€ Contributing
- π License
Nomeda-TaskHub is a comprehensive platform featuring real-time chat, task tracking, authentication (including Google and GitHub), and a modern, responsive UI designed for teams to collaborate efficiently.
-
Real-time Communication
- Chat messaging with instant notifications
- File sharing in conversations
- Read receipts and typing indicators
-
Project Management
- Kanban-style task boards
- Task assignments and deadline tracking
- Progress visualization and reporting
-
User Authentication
- JWT token-based authentication
- OAuth integration (Google, GitHub)
- Role-based access control
-
Dashboard & Analytics
- Project progress metrics
- Team productivity insights
- Custom reporting options
-
Additional Features
- Multi-language support (English, Spanish, Arabic)
- Dark/Light theme options
- Responsive design for mobile and desktop
- File uploads with preview capabilities
- Framework: React 18 with TypeScript
- Build Tool: Vite for fast development
- State Management: Context API
- Styling: CSS Modules / Styled Components
- Internationalization: i18next
- APIs: Fetch API, Socket.io client
- Runtime: Node.js with Express
- Language: TypeScript
- Database: MongoDB with Mongoose ODM
- Real-time: Socket.IO
- Authentication: JWT, Passport.js (OAuth)
- File Storage: Local with multer (cloud storage ready)
- Linting: ESLint, Prettier
- Version Control: Git, GitHub
- API Documentation: Swagger/OpenAPI
- Testing: Jest, React Testing Library
Nomeda-TaskHub/
βββ backend/ # Node.js/Express API, Socket.IO, MongoDB models
β βββ src/
β β βββ controllers/ # Request handlers
β β βββ middleware/ # Auth and validation middleware
β β βββ models/ # MongoDB schema definitions
β β βββ routes/ # API endpoint definitions
β β βββ sockets/ # Real-time communication logic
β β βββ config/ # Environment configuration
β βββ uploads/ # Uploaded files (temporary storage)
β
βββ Nomeda/ # React frontend (Vite, TypeScript)
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Application views/screens
β β βββ hooks/ # Custom React hooks
β β βββ context/ # Global state management
β β βββ assets/ # Images, icons, static files
β β βββ locales/ # Translation files
β βββ public/ # Static assets served directly
βββ README.md
- Node.js 16.x or later
- MongoDB 4.4+ running locally or MongoDB Atlas account
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/YourUsername/Nomeda-TaskHub.git cd Nomeda-TaskHub -
Install dependencies
cd backend npm install -
Set up environment variables
cp .env.example .env # Edit .env with your configuration -
Start the development server
npm run dev
-
Install dependencies
cd Nomeda npm install -
Set up environment variables
cp .env.example .env # Edit .env with your configuration -
Start the development server
npm run dev
-
Build for production
npm run build
NODE_ENV=development
PORT=3000
MONGODB_URI=mongodb://localhost:27017/nomeda-taskhub
JWT_SECRET=your_jwt_secret_key
JWT_EXPIRES_IN=7d
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
UPLOAD_DIR=./uploads
VITE_API_URL=http://localhost:3000/api
VITE_SOCKET_URL=http://localhost:3000
VITE_GOOGLE_CLIENT_ID=your_google_client_id
POST /api/auth/register- Register new userPOST /api/auth/login- User loginGET /api/auth/google- Google OAuth loginGET /api/auth/github- GitHub OAuth loginGET /api/auth/profile- Get current user profile
GET /api/projects- Get all projectsPOST /api/projects- Create new projectGET /api/projects/:id- Get project detailsPUT /api/projects/:id- Update projectDELETE /api/projects/:id- Delete project
GET /api/projects/:id/tasks- Get tasks for projectPOST /api/projects/:id/tasks- Create new taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
GET /api/chats- Get user's chat listPOST /api/chats- Create new chatGET /api/chats/:id/messages- Get messages in chatPOST /api/chats/:id/messages- Send message to chat
POST /api/upload- Upload fileGET /api/files/:id- Download file
-
Q3 2025
- Mobile application (React Native)
- Calendar integration
- Advanced analytics dashboard
-
Q4 2025
- AI-powered task recommendations
- Workflow automation tools
- Time tracking features
-
Q1 2026
- Extended API for third-party integrations
- Custom plugin system
- Enterprise-grade security features
We welcome contributions to Nomeda-TaskHub! Here's how you can help:
- 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
Please make sure to update tests as appropriate and adhere to our code of conduct.
This project is licensed under the MIT License - see the LICENSE file for details.


