Cloud-native task and project management platform with role-based access control and real-time collaboration.
- Multi-User Projects - Create and collaborate on projects with team members
- Kanban Board - Visual task management with TODO, IN PROGRESS, and DONE columns
- Role-Based Access Control - Three-tier permission system (OWNER, ADMIN, MEMBER)
- Multi-Assignee Tasks - Assign tasks to multiple team members simultaneously
- Smart Filtering - Filter tasks by assignee (All, My Tasks, Unassigned, or specific members)
- Real-Time Updates - Instant synchronization across all team members
- Responsive Design - Works seamlessly on desktop, tablet, and mobile devices
- Secure Authentication - Firebase Authentication with email/password
- Modern UI - Clean, intuitive interface built with Tailwind CSS
- Fast Performance - Optimized for speed with Vite and React 18
- Java 17 - Modern Java with latest features
- Spring Boot 3.x - Enterprise-grade backend framework
- Spring Security - Robust authentication and authorization
- Spring Data JPA - ORM for database operations
- PostgreSQL - Relational database for data persistence
- Firebase Admin SDK - User authentication integration
- React 18 - Modern UI library with hooks
- React Router v6 - Client-side routing
- Tailwind CSS - Utility-first styling framework
- Firebase Auth - User authentication
- Vite - Fast build tool and dev server
- Docker - Containerization
- Vercel - Frontend hosting and CI/CD
- Render - Backend hosting
- NeonDB - PostgreSQL database hosting
- GitHub - Version control
Comprehensive documentation is available in the docs/ folder:
- API Documentation - Complete REST API reference with all endpoints
- Setup Guide - Step-by-step local development setup
- Deployment Guide - Production deployment instructions
- Java 17+
- Node.js 18+
- PostgreSQL 14+
- Firebase Account
git clone https://github.com/nakkshh/nexora.git
cd cloudtaskcd backend/user-service
# Configure application.properties with your database and Firebase credentials
# See docs/SETUP.md for detailed instructions
mvn clean install
mvn spring-boot:runBackend runs on http://localhost:8081
cd frontend
# Create .env file with Firebase configuration
# See docs/SETUP.md for detailed instructions
npm install
npm run devFrontend runs on http://localhost:5173
For detailed setup instructions, see docs/SETUP.md
- Frontend: https://nexora-prod.vercel.app
- Backend API: https://cloudtask-backend.onrender.com/api
Note: Backend may take 30-50 seconds to wake up on first request (free tier)
- Visit the live demo
- Register a new account
- Create your first project
- Add tasks and team members
- Try the multi-assignee feature
- Test different user roles
| Role | Permissions |
|---|---|
| OWNER | Full project control, can delete project |
| ADMIN | Can manage members and assign tasks |
| MEMBER | Can view and update tasks (read-only for assignments) |
- Assign tasks to multiple team members
- Visual stacked avatars for quick identification
- Filter tasks by individual assignees
- Real-time updates when assignments change
- Create, update, and delete tasks
- Move tasks between columns (TODO β IN PROGRESS β DONE)
- Add descriptions and metadata
- Track assignment history
- All Tasks - View all project tasks
- My Tasks - See only tasks assigned to you
- Unassigned - Find tasks that need assignment
- By Member - Filter by specific team member
- β¬ Drag-and-drop Kanban board
- β¬ Real-time collaboration with WebSocket
- β¬ Task dependencies and subtasks
- β¬ Due dates and reminders
- β¬ File attachments
- β¬ Activity logs and comments
- β¬ Sprint planning
- β¬ Analytics dashboard
- β¬ Email notifications
- β¬ Calendar integration
cloudtask/
βββ backend/
β βββ user-service/
β βββ src/
β β βββ main/
β β β βββ java/com/cloudtask/
β β β β βββ config/ # Configuration files
β β β β βββ controller/ # REST controllers
β β β β βββ entity/ # JPA entities
β β β β βββ repository/ # Data repositories
β β β β βββ service/ # Business logic
β β β β βββ dto/ # Data transfer objects
β β β βββ resources/
β β β βββ application.properties
β β βββ test/ # Unit tests
β βββ pom.xml
βββ frontend/
β βββ src/
β β βββ auth/ # Firebase auth
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ services/ # API services
β β βββ App.jsx
β βββ public/
β βββ package.json
βββ docs/
β βββ API.md # API documentation
β βββ SETUP.md # Setup guide
β βββ DEPLOYMENT.md # Deployment guide
βββ README.md
cd backend/user-service
mvn testcd frontend
npm run test- β User registration and login
- β Project creation and deletion
- β Task CRUD operations
- β Multi-user assignment
- β Role-based permissions
- β Task filtering
- β Member management
- β Responsive design on mobile
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a 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.
Nakkshh
- GitHub: @nakkshh
- Email: nakshtrjain25@gmail.com
- LinkedIn: nakshatra-jain-b345a0308
- Built with β€οΈ using Spring Boot and React
- Deployed on Vercel, Render, and NeonDB
- Icons from Heroicons
- Inspiration from modern task management tools
If you have any questions or need help:
- π§ Email: nakshtrjain25@gmail.com
- π Issues: GitHub Issues
- π Docs: Check the
docs/folder
If you like this project, please give it a β on GitHub!
Made with β€οΈ by Nakkshh