Skip to content

Nakkshh/Nexora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CloudTask CloudTask

Cloud-native task and project management platform with role-based access control and real-time collaboration.

Live Demo GitHub License


πŸš€ Features

Core Functionality

  • 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

User Experience

  • 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

πŸ› οΈ Tech Stack

Backend

  • 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

Frontend

  • 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

DevOps & Deployment

  • Docker - Containerization
  • Vercel - Frontend hosting and CI/CD
  • Render - Backend hosting
  • NeonDB - PostgreSQL database hosting
  • GitHub - Version control

πŸ“– Documentation

Comprehensive documentation is available in the docs/ folder:


🎯 Quick Start

Prerequisites

  • Java 17+
  • Node.js 18+
  • PostgreSQL 14+
  • Firebase Account

Clone Repository

git clone https://github.com/nakkshh/nexora.git
cd cloudtask

Backend Setup

cd 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:run

Backend runs on http://localhost:8081


Frontend Setup

cd frontend

# Create .env file with Firebase configuration
# See docs/SETUP.md for detailed instructions

npm install
npm run dev

Frontend runs on http://localhost:5173

For detailed setup instructions, see docs/SETUP.md


🌐 Live Demo

Note: Backend may take 30-50 seconds to wake up on first request (free tier)

Test the Demo

  1. Visit the live demo
  2. Register a new account
  3. Create your first project
  4. Add tasks and team members
  5. Try the multi-assignee feature
  6. Test different user roles

πŸ”‘ Key Features in Detail

Role-Based Access Control (RBAC)

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)

Multi-Assignee System

  • Assign tasks to multiple team members
  • Visual stacked avatars for quick identification
  • Filter tasks by individual assignees
  • Real-time updates when assignments change

Task Management

  • Create, update, and delete tasks
  • Move tasks between columns (TODO β†’ IN PROGRESS β†’ DONE)
  • Add descriptions and metadata
  • Track assignment history

Smart Filtering

  • 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

πŸ—ΊοΈ Roadmap

Phase 13: Advanced Features (Post-Interviews)

  • ⬜ 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

πŸ“Š Project Structure

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

πŸ§ͺ Testing

Backend Testing

cd backend/user-service
mvn test

Frontend Testing

cd frontend
npm run test

Manual Testing Checklist

  • βœ… 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

🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘€ Author

Nakkshh


πŸ™ Acknowledgments

  • Built with ❀️ using Spring Boot and React
  • Deployed on Vercel, Render, and NeonDB
  • Icons from Heroicons
  • Inspiration from modern task management tools

πŸ“ž Support

If you have any questions or need help:


⭐ Show Your Support

If you like this project, please give it a ⭐ on GitHub!


Made with ❀️ by Nakkshh

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors