Skip to content

Dev-akash77/Nuegas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

41 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nuegas β€” Real-Time AI-Powered Task Management System

Nuegas is a scalable, real-time task management and collaboration platform designed for modern teams. Built on the MERN stack and powered by WebSocket, WebRTC, Cloudinary, and Gemini AI, it provides seamless task management, chat, file sharing,real-time notifications, analytics, and AI assistance. It supports secure user authentication, email-based OTP verification, and scalable microservices-friendly architecture.


πŸ‘₯ User Roles & Panel Responsibilities

πŸ‘‘ Admin Panel

  • Full access to all data and activities across the platform
  • Manage coordinators and users
  • View system-wide analytics and user reports
  • Assign coordinators to projects
  • Broadcast announcements to all users
  • Monitor weekly and monthly task trends
  • Admin dashboard with charts, stats, and logs

πŸ§‘β€πŸ’Ό Coordinator Panel

  • Assign tasks to users
  • Create, update, and track team tasks
  • Moderate project-related chats and calls
  • Get analytics of team productivity
  • Upload files/documents for tasks
  • Initiate or join video/audio calls
  • Receive system and task-specific notifications

πŸ‘€ User Panel (User = Employee)

  • Register/Login with OTP verification
  • Update personal profile and credentials
  • View assigned tasks in real-time
  • Mark tasks complete/in-progress
  • Upload and preview task files
  • Use AI to auto-generate todos from task titles
  • Chat with coordinators or teammates
  • Participate in video/audio calls
  • View weekly task progress with charts
  • Receive real-time notifications and email alerts
  • Reset password using OTP email verification

πŸ“¦ Core Modules & Features

βœ… Task Management

  • Create, edit, delete tasks
  • Add deadline, priority, status, description
  • Tagging and categorization
  • Assign to users with role-based control
  • Subtasks with progress tracker
  • Kanban drag-and-drop interface
  • Upload documents, images to Cloudinary
  • Track task completion %

πŸ”” Notification System

  • Instant Notifications using nodemailer
  • Each user has their own notification record
  • Email alerts for:
    • Task assigned/updated
    • Important announcements

πŸ’¬ Chat Module

  • One-to-one or task-based group chats
  • Upload files inside chat (image)
  • Read receipts, timestamps

πŸ€– AI Assistant

  • Auto-generate todos from task titles
  • Gemini 1.5 via LangChain for prompt-based AI tasks
  • Future: Suggest due dates, optimize workload

πŸ“Š Analytics & Charts

  • Weekly and monthly stats (bar & pie charts)
  • Compare completed vs pending tasks
  • Individual and team productivity stats
  • Admin/coordinator dashboards with charts

πŸ” Authentication & Security

  • JWT for session-based secure login
  • OTP email verification via NodeMailer
  • Rate-limiting and encrypted token handling
  • Password reset via OTP + secure update route
  • Role-based API and route access control

πŸ“ File Uploading

  • Cloudinary-based secure file storage
  • Upload images, documents, PDFs
  • Real-time upload progress indicator
  • File previews (image/document)

βš™οΈ Tech Stack

Frontend

  • React.js
  • Tailwind CSS
  • Shadcn UI
  • TanStack Query
  • Framer Motion
  • Recharts

Backend

  • Node.js
  • Express.js
  • MongoDB
  • JWT (Authentication)
  • Socket.io (Real-time)
  • Cloudinary (File upload)
  • NodeMailer (OTP email)

AI Integration

  • Gemini 1.5
  • LangChain tool wrapper

Deployment & DevOps

  • Render (Backend Deployment)
  • Vercel (Frontend Hosting)

πŸ“ Full Folder Structure

Frontend

/src
β”‚
β”œβ”€β”€ components
β”‚   β”œβ”€β”€ Chat
β”‚
β”œβ”€β”€ Pages
β”‚
β”œβ”€β”€ Api
β”‚
β”œβ”€β”€ Common
β”‚
β”œβ”€β”€ Config
β”‚
β”œβ”€β”€ Data
β”‚
β”œβ”€β”€ Layout
β”‚
β”œβ”€β”€ Context
β”‚
β”œβ”€β”€ Security
β”‚
β”œβ”€β”€ UI
β”‚
β”œβ”€β”€ Hooks
β”‚   └── Animation
β”‚   └── Function
β”‚
β”œβ”€β”€ Utils
β”‚   └── api.js
β”‚
β”œβ”€β”€ Assets
β”‚
└── main.jsx

Backend


β”œβ”€β”€ Controllers
β”‚
β”œβ”€β”€ Models
β”‚
β”œβ”€β”€ Routes
β”‚
β”œβ”€β”€ Middleware
β”‚
β”œβ”€β”€ Config
β”‚
β”œβ”€β”€ Services
β”‚
β”œβ”€β”€ Services
β”‚
└── server.js

πŸ› οΈ Local Development Setup

Follow these steps to set up and run Nuegas locally on your machine.

1️⃣ Prerequisites

  • Node.js (v18 or above)
  • npm or yarn (latest version)
  • MongoDB (local instance or MongoDB Atlas)
  • Git (for cloning the repo)

2️⃣ Clone the Repository

git clone https://github.com/Dev-akash77/Nuegas.git
cd nuegas

3️⃣ Setup Backend / Server

cd server
npm install

Create .env file inside server

MONGO_URI = YOUR_MONGO_URI
PORT = 4000
JWT_SECRET = YOUR_JWT_SECRET
NODE_ENV = development
SMTP_USER = YOUR_SMTP_USER
SMTP_PASSWORD = YOUR_SMTP_PASS
SENDRE_EMAIL = YOUR_EMAIL
FRONTEND_URL= http://localhost:5173
CLOUD_NAME= YOUR_CLOUDENARY_NAME
CLOUD_API_KEY= YOUR_CLOUDENARY_API_KEY
CLOUD_SECRET= YOUR_CLOUDENARY_SECRET

Start Backend Server

npm run dev

Server runs on: http://localhost:5000

4️⃣ Setup client

cd client
npm install

Create .env file inside client

VITE_BACKEND_URL = http://localhost:4000
VITE_GOOGLE_API_KEY = YOUR_GOOGLE_API_KEY

Start client

npm run dev

Frontend runs on: http://localhost:5173

5️⃣ Run Both Together

Keep server and client running in separate terminals 
Open browser β†’ http://localhost:5173

6️⃣ Default Credentials (Example)

{
  "name": "Admin User",
  "email": "admin@nuegas.com",
  "password": "123456",
  "role": "admin"
}

About

a task management system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors