From 71bab457fed9fa0b2c5fd65099dacdbedfe27734 Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Sun, 7 Sep 2025 17:45:55 +0200 Subject: [PATCH 01/22] Prepare backend and frontend for final project deployment --- backend/.babelrc => .babelrc | 0 README.md | 130 +++++- backend/db/db.js | 20 + backend/middleware/authmiddleware.js | 37 ++ backend/middleware/upload-task.js | 26 ++ backend/model/files.js | 17 + backend/model/groups.js | 10 + backend/model/tasks.js | 31 ++ backend/model/users.js | 11 + backend/package.json | 11 +- backend/routes/auth.js | 109 +++++ backend/routes/group-routes.js | 156 +++++++ backend/routes/taskroutes.js | 197 +++++++++ backend/server.js | 79 +++- frontend/index.html | 13 +- frontend/package.json | 11 +- frontend/public/photos/7247856.webp | Bin 0 -> 152024 bytes .../stars-night-galaxy-4k-3840x2160.webp | Bin 0 -> 315236 bytes frontend/src/App.jsx | 273 +++++++++++- frontend/src/DisplayTasks.jsx | 411 ++++++++++++++++++ frontend/src/Footer.jsx | 35 ++ frontend/src/Header.jsx | 40 ++ frontend/src/LoginPage.jsx | 103 +++++ frontend/src/SubmitTask.jsx | 260 +++++++++++ frontend/src/Tasks.jsx | 21 + frontend/src/groups-mngnt.jsx | 283 ++++++++++++ frontend/src/index.css | 41 ++ frontend/src/login.jsx | 107 +++++ frontend/src/main.jsx | 14 +- frontend/src/registration.jsx | 103 +++++ frontend/src/store/useGroupStore.jsx | 121 ++++++ frontend/src/store/useTaskStore.jsx | 121 ++++++ frontend/src/store/useUserStore.jsx | 42 ++ package.json | 25 +- 34 files changed, 2829 insertions(+), 29 deletions(-) rename backend/.babelrc => .babelrc (100%) create mode 100644 backend/db/db.js create mode 100644 backend/middleware/authmiddleware.js create mode 100644 backend/middleware/upload-task.js create mode 100644 backend/model/files.js create mode 100644 backend/model/groups.js create mode 100644 backend/model/tasks.js create mode 100644 backend/model/users.js create mode 100644 backend/routes/auth.js create mode 100644 backend/routes/group-routes.js create mode 100644 backend/routes/taskroutes.js create mode 100644 frontend/public/photos/7247856.webp create mode 100644 frontend/public/photos/stars-night-galaxy-4k-3840x2160.webp create mode 100644 frontend/src/DisplayTasks.jsx create mode 100644 frontend/src/Footer.jsx create mode 100644 frontend/src/Header.jsx create mode 100644 frontend/src/LoginPage.jsx create mode 100644 frontend/src/SubmitTask.jsx create mode 100644 frontend/src/Tasks.jsx create mode 100644 frontend/src/groups-mngnt.jsx create mode 100644 frontend/src/login.jsx create mode 100644 frontend/src/registration.jsx create mode 100644 frontend/src/store/useGroupStore.jsx create mode 100644 frontend/src/store/useTaskStore.jsx create mode 100644 frontend/src/store/useUserStore.jsx diff --git a/backend/.babelrc b/.babelrc similarity index 100% rename from backend/.babelrc rename to .babelrc diff --git a/README.md b/README.md index 31466b54c2..a4f6446d2f 100644 --- a/README.md +++ b/README.md @@ -10,4 +10,132 @@ Describe how you approached to problem, and what tools and techniques you used t ## View it live -Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about. \ No newline at end of file +Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about. + +Task Management + +Tasks are the core unit of this app and have full CRUD support. + +Features: + +Create Task: Users can create tasks with a title, description, due date, category, project association, and file attachments. + +Update Task: Tasks can be updated to change details or add files; multiple files supported via Multer memory storage and stored in MongoDB GridFS. + +Delete Task: Tasks can be deleted individually; tasks linked to a project update project completion automatically. + +Completion Tracking: Tasks can be marked completed/uncompleted. The system also allows marking all tasks completed at once. + +Filters & Queries: Tasks can be filtered by status (completed/uncompleted/all) or by creation date. + +Implementation Details: + +Zustand Store: The useTaskStore manages task and project state on the frontend, syncing with localStorage for offline persistence. + +Project Auto-Completion: Whenever a task's completion state changes, the associated project's completion status is recalculated. + +Backend Highlights: + +API endpoints include POST /tasks, GET /tasks, PUT /tasks/:id, DELETE /tasks/:id + +GridFS allows large or multiple files per task, streamed efficiently to clients. + +Project Management + +Projects group tasks and provide higher-level completion tracking. + +Features: + +Add/delete projects. + +Associate tasks with projects. + +Projects automatically reflect the completion percentage based on their tasks. + +Implementation Details: + +Projects are stored in useTaskStore alongside tasks, and updateProjectCompletion automatically calculates if all tasks in the project are complete. + +When a project is deleted, all tasks linked to it are updated to remove the association. + +Group Management + +Groups allow collaborative work and task segregation. + +Features: + +Create, delete, join, leave groups. + +Assign projects to groups. + +View members and their task/project assignments. + +Pagination and search support for large numbers of groups. + +Frontend Implementation: + +The GroupsManagement component handles all UI interactions for group management. + +State is managed via useGroupStore (Zustand), fetching data from the backend. + +Snackbars provide real-time feedback for actions like joining, leaving, or creating groups. + +Backend Implementation: + +Express routes handle all group operations (/groups, /groups/:id/join, /groups/:id/leave, etc.) + +Protected by JWT auth middleware for security. + +Frontend Features + +Responsive & Accessible UI: Fully responsive layouts using Material-UI; ARIA roles on modals and dialogs for accessibility. + +Dark Mode: Toggleable dark/light mode using Material-UI theme provider, with background images and color palettes adjusted dynamically. + +Modals: Login, registration, and group management modals overlay the main content without breaking app flow. + +Task & Project Dashboard: Summary panels show total tasks, uncompleted tasks, and project completion percentages in real-time. + +State Management: + +Zustand stores ensure all state changes (tasks, projects, groups, user info) update the UI reactively. + +LocalStorage persistence allows offline resilience. + +Backend Highlights + +RESTful API Structure: Modular Express routes for tasks, groups, projects, and auth. + +File Handling: Multer handles in-memory file uploads, streamed to MongoDB GridFS. + +Authentication: JWT middleware protects sensitive routes, ensuring only authenticated users can access their group-specific tasks/projects. + +Error Handling & Logging: Console logs and HTTP status codes used throughout for debugging and feedback. + +Advanced Features & Architectural Decisions + +State-driven UI: Zustand stores are the single source of truth for tasks, projects, groups, and user authentication. + +Automatic Project Status: Projects reflect real-time task completion without manual updates. + +Secure & Modular Backend: Auth middleware, modular route files, and GridFS for scalable file storage. + +User Experience: Modals, snackbars, and responsive layout provide polished UX, with immediate feedback on all actions. + +Future-Ready: Architecture allows easy integration of real-time updates via WebSockets or additional collaborative features. + +Conclusion + +This project is a full-featured, modern task and project management system that balances frontend reactivity, backend security, and scalable architecture. It showcases: + +Advanced state management with Zustand + +JWT authentication + +MongoDB + GridFS file handling + +Group/project collaboration features + +Responsive, accessible UI + +It demonstrates full-stack proficiency, attention to UX, and scalable software design principles. \ No newline at end of file diff --git a/backend/db/db.js b/backend/db/db.js new file mode 100644 index 0000000000..4f1ed68935 --- /dev/null +++ b/backend/db/db.js @@ -0,0 +1,20 @@ +import mongoose from "mongoose"; + +export const connectDB = async () => { + const mongoUrl = process.env.MONGO_URL || "mongodb://localhost:27017/task-manager"; + + try { + await mongoose.connect(mongoUrl, { + useNewUrlParser: true, + useUnifiedTopology: true, + }); + console.log("✅ MongoDB connected:", mongoUrl); + } catch (err) { + console.error("❌ MongoDB connection error:", err); + process.exit(1); // exit process if DB connection fails + } + + mongoose.connection.on("disconnected", () => { + console.warn("⚠️ MongoDB disconnected!"); + }); +}; diff --git a/backend/middleware/authmiddleware.js b/backend/middleware/authmiddleware.js new file mode 100644 index 0000000000..a6b7cf4e12 --- /dev/null +++ b/backend/middleware/authmiddleware.js @@ -0,0 +1,37 @@ +import jwt from "jsonwebtoken"; + +export const authMiddleware = (req, res, next) => { + try { + const authHeader = req.headers.authorization; + if (!authHeader) { + console.warn("[Auth] No Authorization header"); + return res.status(401).json({ error: "No token provided" }); + } + + const token = authHeader.split(" ")[1]; + if (!token) { + console.warn("[Auth] No token after Bearer"); + return res.status(401).json({ error: "No token provided" }); + } + + const decoded = jwt.verify(token, process.env.JWT_SECRET || "supersecret123"); + + if (!decoded) { + console.warn("[Auth] Token could not be decoded"); + return res.status(401).json({ error: "Invalid token" }); + } + + // Ensure req.user has id and groupId + req.user = { + id: decoded.id, + groupId: decoded.groupId, + }; + + console.log("[Auth] req.user set:", req.user); + + next(); + } catch (err) { + console.error("[Auth] Error verifying token:", err.message); + res.status(401).json({ error: "Unauthorized" }); + } +}; diff --git a/backend/middleware/upload-task.js b/backend/middleware/upload-task.js new file mode 100644 index 0000000000..5ea9ffd8eb --- /dev/null +++ b/backend/middleware/upload-task.js @@ -0,0 +1,26 @@ +import multer from "multer"; +import path from "path"; + +// Store uploads in /uploads folder +const storage = multer.diskStorage({ + destination: (req, file, cb) => { + cb(null, "uploads/"); + }, + filename: (req, file, cb) => { + cb(null, Date.now() + path.extname(file.originalname)); // unique name + }, +}); + +export const upload = multer({ storage }); + +export const detectFileType = (mimetype) => { + if (mimetype.startsWith("image/")) return "image"; + if (mimetype === "application/pdf") return "pdf"; + if ( + mimetype === "application/msword" || + mimetype.includes("officedocument") + ) + return "doc"; + if (mimetype.startsWith("text/")) return "text"; + return "other"; +}; \ No newline at end of file diff --git a/backend/model/files.js b/backend/model/files.js new file mode 100644 index 0000000000..bbb7a9d7cc --- /dev/null +++ b/backend/model/files.js @@ -0,0 +1,17 @@ +import mongoose from "mongoose"; +const fileSchema = new mongoose.Schema({ + name: String, // original file name + filename: String, // GridFS stored filename (with timestamp prefix) + url: String, // `/tasks/files/:filename` for frontend + contentType: String, // MIME type (e.g., text/plain, application/pdf) + size: Number, // file size in bytes + type: { + type: String, + enum: ["image", "pdf", "doc", "text", "other"], + default: "other" + }, + folder: { type: String, default: "root" }, +}); + + +export default mongoose.model("File", fileSchema); diff --git a/backend/model/groups.js b/backend/model/groups.js new file mode 100644 index 0000000000..6962f1d29f --- /dev/null +++ b/backend/model/groups.js @@ -0,0 +1,10 @@ +import mongoose from "mongoose"; + +const groupSchema = new mongoose.Schema({ + name: { type: String, required: true }, + members: [{ type: mongoose.Schema.Types.ObjectId, ref: "User" }], + currentProject: { type: String, default: null }, + createdAt: { type: Date, default: Date.now }, +}); + +export default mongoose.model("Group", groupSchema); diff --git a/backend/model/tasks.js b/backend/model/tasks.js new file mode 100644 index 0000000000..74e8b1b4e5 --- /dev/null +++ b/backend/model/tasks.js @@ -0,0 +1,31 @@ +import mongoose from "mongoose"; + +const fileSchema = new mongoose.Schema({ + name: String, // original file name + filename: String, // GridFS stored filename (with timestamp prefix) + url: String, // `/tasks/files/:filename` for frontend + contentType: String, // MIME type (e.g., text/plain, application/pdf) + size: Number, // file size in bytes + type: { + type: String, + enum: ["image", "pdf", "doc", "text", "other"], + default: "other" + }, + folder: { type: String, default: "root" }, +}); + + +const taskSchema = new mongoose.Schema({ + title: { type: String, required: true, trim: true }, + description: { type: String }, +category: { type: String, enum: ["Work","Home","Health","Errands","Leisure","Other",""], default: "Other" } , +priority: { type: String, enum: ["low", "medium", "high"], default: "medium" }, + dueDate: { type: Date }, + completed: { type: Boolean, default: false }, + files: [fileSchema], // structured files + createdBy: { type: mongoose.Schema.Types.ObjectId, ref: "User", required: true }, + group: { type: mongoose.Schema.Types.ObjectId, ref: "Group", required: true }, + createdAt: { type: Date, default: Date.now }, +}); + +export const Task = mongoose.model("Task", taskSchema); diff --git a/backend/model/users.js b/backend/model/users.js new file mode 100644 index 0000000000..d31051ce57 --- /dev/null +++ b/backend/model/users.js @@ -0,0 +1,11 @@ +import mongoose from "mongoose"; + +const userSchema = new mongoose.Schema({ + username: { type: String, required: true, unique: true, trim: true }, +email: { type: String, lowercase: true } ,// remove required + passwordHash: { type: String, required: true }, + group: { type: mongoose.Schema.Types.ObjectId, ref: "Group" }, + createdAt: { type: Date, default: Date.now } +}); + +export default mongoose.model("User", userSchema); diff --git a/backend/package.json b/backend/package.json index 08f29f2448..2e22da1ad8 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,10 +1,11 @@ { "name": "project-final-backend", "version": "1.0.0", + "type": "module", "description": "Server part of final project", "scripts": { - "start": "babel-node server.js", - "dev": "nodemon server.js --exec babel-node" + "start": "babel-node backend/server.js", + "dev": "nodemon backend/server.js --exec babel-node" }, "author": "", "license": "ISC", @@ -12,9 +13,13 @@ "@babel/core": "^7.17.9", "@babel/node": "^7.16.8", "@babel/preset-env": "^7.16.11", + "backend": "file:..", + "bcrypt": "^6.0.0", "cors": "^2.8.5", "express": "^4.17.3", + "jsonwebtoken": "^9.0.2", "mongoose": "^8.4.0", + "multer": "^2.0.2", "nodemon": "^3.0.1" } -} \ No newline at end of file +} diff --git a/backend/routes/auth.js b/backend/routes/auth.js new file mode 100644 index 0000000000..09d7bfde81 --- /dev/null +++ b/backend/routes/auth.js @@ -0,0 +1,109 @@ +import express from "express"; +import bcrypt from "bcrypt"; +import jwt from "jsonwebtoken"; +import User from "../model/users.js"; +import Group from "../model/groups.js"; +import { authMiddleware } from "../middleware/authmiddleware.js"; + +const router = express.Router(); +const JWT_SECRET = process.env.JWT_SECRET || "supersecret123"; + +// --- Register --- +router.post("/register", async (req, res) => { + console.log("REQ.BODY:", req.body); + + try { + const { username = "", password } = req.body; + + // Validate input + if (!username || !password) { + return res.status(400).json({ error: "Username and password are required" }); + } + + // Check if username already exists + const existingUser = await User.findOne({ username }); + if (existingUser) { + return res.status(409).json({ error: "Username already taken" }); + } + + // Hash password + const salt = await bcrypt.genSalt(10); + const passwordHash = await bcrypt.hash(password, salt); + + // Find or create default group + let defaultGroup = await Group.findOne({ name: "Default Group" }); + if (!defaultGroup) { + defaultGroup = await Group.create({ name: "Default Group" }); + } + + // Create user + const user = await User.create({ + username, + passwordHash, + group: defaultGroup._id, + + }); + + res.status(201).json({ message: "User registered successfully", userId: user._id }); + } catch (err) { + console.error("Register error:", err); + res.status(500).json({ error: "Internal server error" }); + } +}); + +// --- Login --- +router.post("/login", async (req, res) => { + try { + const { username, password } = req.body; + + if (!password || (!username)) { + return res.status(400).json({ error: "Provide username and password" }); + } + + // Find user by username o + const user = await User.findOne({ username }).populate("group"); + + if (!user) return res.status(401).json({ error: "User not found" }); + + // Compare password + const isMatch = await bcrypt.compare(password, user.passwordHash); + if (!isMatch) return res.status(401).json({ error: "Invalid password" }); + + // Generate JWT + const token = jwt.sign( + { id: user._id, + groupId: user.group._id + }, + JWT_SECRET, + { expiresIn: "7d" } + ); + + res.json({ token, user: { id: user._id, username: user.username, group: user.group } }); + } catch (err) { + console.error("Login error:", err); + res.status(500).json({ error: "Internal server error" }); + } +}); +router.get("/me", authMiddleware, async (req, res) => { + try { + // Fetch user data from database using the ID from the JWT + const user = await User.findById(req.user.id).populate("group").select("-passwordHash"); + if (!user) { + return res.status(404).json({ error: "User not found" }); + } + + // Return user data in the expected format + res.json({ + user: { + id: user._id, + username: user.username, + group: user.group ? { id: user.group._id, name: user.group.name } : null, + }, + }); + } catch (err) { + console.error("Get user error:", err); + res.status(500).json({ error: "Internal server error" }); + } +}); + +export default router; diff --git a/backend/routes/group-routes.js b/backend/routes/group-routes.js new file mode 100644 index 0000000000..81b7d55993 --- /dev/null +++ b/backend/routes/group-routes.js @@ -0,0 +1,156 @@ +import express from "express"; +import Group from "../model/groups.js"; +import { authMiddleware } from "../middleware/authmiddleware.js"; + +const router = express.Router(); + +/** + * CREATE a new group + * POST /groups + * Body: { name, currentProject (optional) } + */ +router.post("/", authMiddleware, async (req, res) => { + try { + const { name, currentProject } = req.body; + if (!name) return res.status(400).json({ error: "Group name is required" }); + + const existing = await Group.findOne({ name }); + if (existing) return res.status(409).json({ error: "Group name already exists" }); + + const group = await Group.create({ + name, + currentProject: currentProject || null, + members: [req.user.id], // creator automatically joins + }); + + res.status(201).json(group); + } catch (err) { + console.error("Create group error:", err); + res.status(500).json({ error: "Internal server error" }); + } +}); + +// DELETE /groups/:id +router.delete("/:id", authMiddleware, async (req, res) => { + try { + const group = await Group.findById(req.params.id); + if (!group) return res.status(404).json({ error: "Group not found" }); + + // Optional: Check if user is group creator + if (group.members[0].toString() !== req.user.id) { + return res.status(403).json({ error: "Only group creator can delete" }); + } + + await group.deleteOne(); + res.json({ message: "Group deleted successfully" }); + } catch (err) { + res.status(500).json({ error: err.message }); + } +}); + +/** + * GET all groups + * GET /groups + */ +router.get("/", authMiddleware, async (req, res) => { + + try { + const groups = await Group.find().populate("members", "username"); + + console.log("Fetched groups:", JSON.stringify(groups, null, 2)); + + res.json(groups); + } catch (err) { + res.status(500).json({ error: err.message }); + } +}); + +/** + * JOIN a group + * PUT /groups/:id/join + */ +router.put("/:id/join", authMiddleware, async (req, res) => { + try { + const group = await Group.findById(req.params.id); + if (!group) return res.status(404).json({ error: "Group not found" }); + + if (!group.members.includes(req.user.id)) { + group.members.push(req.user.id); + await group.save(); + } + + res.json(group); + } catch (err) { + res.status(500).json({ error: err.message }); + } +}); + +/** + * LEAVE a group + * PUT /groups/:id/leave + */ +router.put("/:id/leave", authMiddleware, async (req, res) => { + try { + const group = await Group.findById(req.params.id); + if (!group) return res.status(404).json({ error: "Group not found" }); + + group.members = group.members.filter((id) => id.toString() !== req.user.id); + await group.save(); + + res.json({ message: "Left group successfully", group }); + } catch (err) { + res.status(500).json({ error: err.message }); + } +}); + +/** + * SET current project for group + * PUT /groups/:id/project + * Body: { projectName } + */ +router.put("/:id/project", authMiddleware, async (req, res) => { + try { + const { projectName } = req.body; + if (!projectName) return res.status(400).json({ error: "Project name required" }); + + const group = await Group.findById(req.params.id); + if (!group) return res.status(404).json({ error: "Group not found" }); + + group.currentProject = projectName; + await group.save(); + + res.json(group); + } catch (err) { + res.status(500).json({ error: err.message }); + } +}); + +/** + * GET single group by ID + * GET /groups/:id + */ +router.get("/:id", authMiddleware, async (req, res) => { + try { + const group = await Group.findById(req.params.id).populate("members", "username"); + if (!group) return res.status(404).json({ error: "Group not found" }); + res.json(group); + } catch (err) { + res.status(500).json({ error: err.message }); + } +}); + +router.delete("/:id/project", authMiddleware, async (req, res) => { + try { + const group = await Group.findById(req.params.id); + if (!group) return res.status(404).json({ error: "Group not found" }); + + group.currentProject = null; + await group.save(); + + res.json({ message: "Project removed", group }); + } catch (err) { + res.status(500).json({ error: err.message }); + } +}); + +export default router; diff --git a/backend/routes/taskroutes.js b/backend/routes/taskroutes.js new file mode 100644 index 0000000000..847f045a11 --- /dev/null +++ b/backend/routes/taskroutes.js @@ -0,0 +1,197 @@ +import express from "express"; +import mongoose from "mongoose"; +import multer from "multer"; +import { Task } from "../model/tasks.js"; +import Group from "../model/groups.js"; +import { authMiddleware } from "../middleware/authmiddleware.js"; + +const router = express.Router(); + +// ------------------ MONGODB GRIDFS SETUP ------------------ +const mongoURI = process.env.MONGO_URI || "mongodb://localhost:27017/taskmanager"; +const conn = mongoose.createConnection(mongoURI, {}); + +let gfs; +conn.once("open", () => { + gfs = new mongoose.mongo.GridFSBucket(conn.db, { bucketName: "uploads" }); + console.log("✅ GridFS initialized"); +}); + +// ------------------ MULTER MEMORY STORAGE ------------------ +const upload = multer({ storage: multer.memoryStorage() }); + +// ------------------ HELPERS ------------------ +const waitForGFS = () => + new Promise((resolve) => { + if (gfs) return resolve(); + conn.once("open", () => { + gfs = new mongoose.mongo.GridFSBucket(conn.db, { bucketName: "uploads" }); + console.log("✅ GridFS initialized"); + resolve(); + }); + }); + +const saveFileToGridFS = async (file) => { + await waitForGFS(); + return new Promise((resolve, reject) => { + try { + const filename = `${Date.now()}-${file.originalname}`; + const uploadStream = gfs.openUploadStream(filename, { contentType: file.mimetype }); + uploadStream.end(file.buffer); + + uploadStream.on("finish", () => + resolve({ + name: file.originalname, + filename, + url: `/tasks/files/${filename}`, + contentType: file.mimetype, + size: file.size, + folder: "root", + }) + ); + + uploadStream.on("error", reject); + } catch (err) { + reject(err); + } + }); +}; + +// ------------------ ROUTES ------------------ + +// --- Serve files from GridFS --- +router.get("/files/:filename", async (req, res) => { + try { + await waitForGFS(); + const { filename } = req.params; + + const files = await gfs.find({ filename }).toArray(); + if (!files.length) return res.status(404).json({ error: "File not found" }); + + const file = files[0]; + res.set({ + "Content-Type": file.contentType || "application/octet-stream", + "Content-Disposition": `inline; filename="${file.filename}"`, + }); + + gfs.openDownloadStreamByName(filename).pipe(res).on("error", (err) => { + console.error("❌ Error streaming file:", err); + if (!res.headersSent) res.status(500).json({ error: "Error streaming file" }); + else res.destroy(err); + }); + } catch (err) { + console.error("❌ Error serving file:", err); + res.status(500).json({ error: err.message }); + } +}); + +// --- Create task --- +router.post("/", authMiddleware, upload.array("files", 5), async (req, res) => { + try { + const { task: title, category, projectId, dueDate, description } = req.body; + const files = await Promise.all((req.files || []).map(saveFileToGridFS)); + + const safeCategory = category?.trim() || "Other"; + const groupId = req.user.groupId || (await Group.findOne({ name: "Default Group" }))._id; + + const task = await Task.create({ + title, + description, + category: safeCategory, + dueDate, + files, + createdBy: req.user.id, + group: groupId, + }); + + res.status(201).json(task); + } catch (err) { + console.error("❌ Error creating task:", err); + res.status(400).json({ error: err.message }); + } +}); + + + +// --- Upload file to existing task --- +router.post("/:taskId/files", authMiddleware, upload.single("file"), async (req, res) => { + try { + + console.log("[File GET] Filename:", req.params.filename); + console.log("[File GET] req.user:", req.user); + const task = await Task.findById(req.params.taskId); + if (!task) return res.status(404).json({ error: "Task not found" }); + + const fileMeta = await saveFileToGridFS(req.file); + task.files.push(fileMeta); + await task.save(); + + res.json({ message: "File uploaded", task }); + } catch (err) { + console.error("❌ Error uploading file:", err); + res.status(500).json({ error: err.message }); + } +}); + +// --- Get all tasks --- +router.get("/", authMiddleware, async (req, res) => { + try { + const tasks = await Task.find({ group: req.user.groupId }) + .populate("createdBy", "username") + .sort({ createdAt: -1 }); + + res.json(tasks); + } catch (err) { + console.error("❌ Error fetching tasks:", err); + res.status(500).json({ error: err.message }); + } +}); + +// --- Get single task --- +router.get("/:id", authMiddleware, async (req, res) => { + try { + const task = await Task.findById(req.params.id); + if (!task) return res.status(404).json({ error: "Task not found" }); + + res.json(task); + } catch (err) { + console.error("❌ Error fetching task:", err); + res.status(500).json({ error: err.message }); + } +}); + +// --- Update task --- +router.put("/:id", authMiddleware, upload.array("files", 5), async (req, res) => { + try { + const { title, description, priority, dueDate, completed, folder } = req.body; + const newFiles = await Promise.all((req.files || []).map(saveFileToGridFS)); + + const task = await Task.findByIdAndUpdate( + req.params.id, + { $set: { title, description, priority, dueDate, completed }, $push: { files: { $each: newFiles } } }, + { new: true } + ); + + if (!task) return res.status(404).json({ error: "Task not found" }); + + res.json(task); + } catch (err) { + console.error("❌ Error updating task:", err); + res.status(400).json({ error: err.message }); + } +}); + +// --- Delete task --- +router.delete("/:id", authMiddleware, async (req, res) => { + try { + const task = await Task.findByIdAndDelete(req.params.id); + if (!task) return res.status(404).json({ error: "Task not found" }); + + res.json({ message: "Task deleted" }); + } catch (err) { + console.error("❌ Error deleting task:", err); + res.status(500).json({ error: err.message }); + } +}); + +export default router; diff --git a/backend/server.js b/backend/server.js index 070c875189..6112aff7d4 100644 --- a/backend/server.js +++ b/backend/server.js @@ -1,22 +1,83 @@ import express from "express"; import cors from "cors"; -import mongoose from "mongoose"; +import dotenv from "dotenv"; +import multer from "multer"; -const mongoUrl = process.env.MONGO_URL || "mongodb://localhost/final-project"; -mongoose.connect(mongoUrl); -mongoose.Promise = Promise; +import { connectDB } from "./db/db.js"; +import authRoutes from "./routes/auth.js"; +import taskRoutes from "./routes/taskroutes.js"; +import groupRoutes from "./routes/group-routes.js"; +import { authMiddleware } from "./middleware/authmiddleware.js"; + +dotenv.config(); -const port = process.env.PORT || 8080; const app = express(); +const port = process.env.PORT || 8080; + +// --- Database --- +connectDB(); -app.use(cors()); +// --- CORS Setup --- +const allowedOrigins = [ + "http://localhost:5173", + "https://your-production-frontend.com" +]; + +app.use(cors({ + origin: (origin, callback) => { + console.log("[CORS] Request origin:", origin); + if (!origin || allowedOrigins.includes(origin)) { + return callback(null, true); + } + callback(new Error("CORS not allowed")); + }, + credentials: true, +})); + +// --- Middleware --- app.use(express.json()); +app.use(express.urlencoded({ extended: true })); + +// --- Request Logger --- +app.use((req, res, next) => { + console.log("\n[REQ] ---------------------------"); + console.log("Method:", req.method); + console.log("URL:", req.url); + console.log("Headers:", req.headers); + console.log("Body:", req.body); + console.log("Query:", req.query); + next(); +}); + +// --- Auth Logger --- +app.use("/tasks", authMiddleware, (req, res, next) => { + console.log("[Auth] req.user set:", req.user); + next(); +}); + +// --- Routes --- +app.use("/auth", authRoutes); +app.use("/tasks", taskRoutes); +app.use("/groups", groupRoutes); -app.get("/", (req, res) => { +// --- Root Route --- +app.get("/", (_, res) => { + console.log("[Root] Accessed /"); res.send("Hello Technigo!"); }); -// Start the server +// --- Start Server --- app.listen(port, () => { - console.log(`Server running on http://localhost:${port}`); + console.log(`Server running at http://localhost:${port}`); + console.log("NODE_ENV:", process.env.NODE_ENV); + console.log("MONGO_URI:", process.env.MONGO_URI); +}); + +// --- Multer Setup Example for Logging --- +const upload = multer({ storage: multer.memoryStorage() }); + +app.post("/debug-upload", upload.single("file"), (req, res) => { + console.log("[Upload] req.file:", req.file); + console.log("[Upload] req.body:", req.body); + res.json({ message: "Upload debug complete" }); }); diff --git a/frontend/index.html b/frontend/index.html index 664410b5b9..705d22b70d 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -2,12 +2,19 @@ - + + - Technigo React Vite Boiler Plate + Todo
- + diff --git a/frontend/package.json b/frontend/package.json index 7b2747e949..8f53fc5f7b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -10,8 +10,17 @@ "preview": "vite preview" }, "dependencies": { + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", + "@mui/icons-material": "^7.3.1", + "@mui/material": "^7.3.1", + "@mui/x-date-pickers": "^8.10.2", + "axios": "^1.11.0", + "date-fns": "^4.1.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "react-router-dom": "^7.8.2", + "zustand": "^5.0.8" }, "devDependencies": { "@types/react": "^18.2.15", diff --git a/frontend/public/photos/7247856.webp b/frontend/public/photos/7247856.webp new file mode 100644 index 0000000000000000000000000000000000000000..0f41ea17b73524c2a4328fae8ef25f9b448425f5 GIT binary patch literal 152024 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%0Dkr${3hs+rNPrqtjqR|#22ibVA>y7ziIJmP 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 z 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 { + const [showRegisterModal, setShowRegisterModal] = useState(false); + + return ( + + + + + Welcome to To-Do App + + + + + + + {showRegisterModal && ( + setShowRegisterModal(false)} + > + e.stopPropagation()} + > + + + + + )} + + + ); +}; + +/* ------------------ APP (with inline MainApp) ------------------ */ export const App = () => { + const [darkMode, setDarkMode] = useState(false); + const tasks = useTaskStore((s) => s.tasks); + + const [user, setUser] = useState(() => { + const token = localStorage.getItem('token'); + return token ? { token } : null; + }); + + const [showGroups, setShowGroups] = useState(false); + + const handleLogin = (token) => { + localStorage.setItem('token', token); + setUser({ ...userData, token }); + }; + + const handleLogout = () => { + localStorage.removeItem('token'); + setUser(null); + }; + + const toggleDarkMode = useCallback(() => setDarkMode((prev) => !prev), []); + + const theme = useMemo( + () => + createTheme({ + palette: { + mode: darkMode ? 'dark' : 'light', + primary: { + main: darkMode ? '#9c27b0' : '#1976d2', + contrastText: '#fff', + }, + background: { + default: darkMode ? '#000' : '#fff', + paper: darkMode ? '#1a1a1a' : '#f5f5f5', + }, + }, + }), + [darkMode] + ); + + /* ------------------ MAIN APP ------------------ */ + const MainApp = () => ( + + + +
setShowGroups(true)} + /> + + + + + + + + + + To Do List + + Total Tasks: {tasks.length} + + Uncompleted Tasks: {tasks.filter((t) => !t.completed).length} + + + + + + + + + + + + {showGroups && ( + setShowGroups(false)} /> + )} + +
+ + ); + /* ------------------ ROUTING ------------------ */ return ( - <> -

Welcome to Final Project!

- + + + + ) : ( + + )} + /> + + ) : ( + + )} + /> + } + /> + + ); }; diff --git a/frontend/src/DisplayTasks.jsx b/frontend/src/DisplayTasks.jsx new file mode 100644 index 0000000000..1631ae87a7 --- /dev/null +++ b/frontend/src/DisplayTasks.jsx @@ -0,0 +1,411 @@ +import React, { useState, useMemo } from 'react'; +import { useTaskStore } from './store/useTaskStore'; +import { + Box, + Typography, + Divider, + Chip, + Paper, + Button, + Checkbox, + Select, + MenuItem, + useTheme, + FormControl, + InputLabel, +} from '@mui/material'; + +export const DisplayTasks = () => { + const [show, setShow] = useState('all'); + const [sortBy, setSortBy] = useState('created-desc'); + const { + tasks: rawTasks, + projects, + toggleTaskCompletion, + deleteTask, + completeAllTasks, + deleteProject, + } = useTaskStore(); + + const theme = useTheme(); + const isDarkMode = theme.palette.mode === 'dark'; + + /* ---------- Filtering ---------- */ + const filteredTasks = useMemo(() => { + switch (show) { + case 'completed': + return rawTasks.filter((t) => t.completed); + case 'uncompleted': + return rawTasks.filter((t) => !t.completed); + default: + return rawTasks; + } + }, [rawTasks, show]); + + /* ---------- Sorting ---------- */ + const tasks = useMemo(() => { + return [...filteredTasks].sort((a, b) => { + const compareDates = (d1, d2) => (d1 || '').localeCompare(d2 || ''); + switch (sortBy) { + case 'due-asc': + return compareDates(a.dueDate, b.dueDate); + case 'due-desc': + return compareDates(b.dueDate, a.dueDate); + case 'created-asc': + return a.createdAt.localeCompare(b.createdAt); + case 'created-desc': + return b.createdAt.localeCompare(a.createdAt); + case 'category': + return (a.category || '').localeCompare(b.category || ''); + default: + return 0; + } + }); + }, [filteredTasks, sortBy]); + + const uncompletedCount = tasks.filter((t) => !t.completed).length; + + /* ---------- Render: Empty State ---------- */ + if (!tasks.length) { + return ( + + No tasks to display. + + ); + } + + /* ---------- Helpers ---------- */ + const renderDueDate = (task) => { + if (!task.dueDate) return null; + const due = new Date(task.dueDate); + const hoursLeft = (due.getTime() - Date.now()) / 36e5; + const dueSoon = hoursLeft > 0 && hoursLeft <= 24 && !task.completed; + + return ( + + Due: {due.toLocaleDateString()} {due.toLocaleTimeString()} + + ); + }; + + /* ---------- Render ---------- */ + return ( + + {/* Header */} + + + Tasks ({tasks.length}) • Uncompleted ({uncompletedCount}) + + + {/* Filters */} + + + Filter + + + + + Sort by + + + + + + + + + + {/* Task List */} +
    + {tasks.map((task) => { + const project = projects.find((p) => p.id === task.projectId); + const overdue = task.dueDate && new Date(task.dueDate) < new Date() && !task.completed; + const statusLabel = overdue ? 'Overdue' : task.completed ? 'Completed' : 'Incomplete'; + const statusKind = overdue ? 'error' : task.completed ? 'success' : 'warning'; + + return ( +
  • + + {/* Task Row */} + + + toggleTaskCompletion(task.id)} + inputProps={{ 'aria-labelledby': `task-label-${task.id}` }} + /> + + {task.title || task.task || 'Untitled Task'} + + + + + + + {/* Status */} + + Status: + {statusKind === 'warning' ? ( + + ) : ( + + )} + + + {/* Category */} + + Category: {task.category || 'None'} + + + {/* Project */} + + Project: + {project ? `${project.name} (${project.completed ? 'Done' : 'Ongoing'})` : 'None'} + {project && ( + + )} + + + {/* Dates */} + + Created: {new Date(task.createdAt).toLocaleString()} + + + {renderDueDate(task)} +{/* Files */} +{/* Files */} +{task.files?.length > 0 && ( + + + Files: + +
      + {task.files.map((file, idx) => { + const fileName = file.name || 'Unknown'; + const fileSizeKB = file.size ? Math.round(file.size / 1024) : null; + const handleViewFile = async (file) => { + console.log("[File] File object:", file); + const fileUrl = file.url || file.path; + if (!fileUrl) return alert("File URL not available"); + + try { + const token = localStorage.getItem("token"); + const headers = token ? { Authorization: `Bearer ${token}` } : {}; + + const fetchUrl = fileUrl.startsWith("/") + ? `http://localhost:8080${fileUrl}` + : file.url; + + console.log("[File] Fetching:", fetchUrl, "with headers:", headers); + + const res = await fetch(fetchUrl, { headers }); + + console.log("[File] Response status:", res.status, res.statusText); + console.log("[File] Response headers:", Object.fromEntries(res.headers.entries())); + if (!res.ok) throw new Error(`Failed to fetch file: ${res.status} ${res.statusText}`); + + const blob = await res.blob(); + const url = URL.createObjectURL(blob); + const newWin = window.open(url, "_blank"); + if (!newWin) alert("Popup blocked! Please allow popups to view the file."); + } catch (err) { + console.error("[File] Error fetching file:", err); + alert(err.message); + } + }; + + return ( +
    • + +
    • + ); + })} +
    +
    +)} + + + +
    +
  • + ); + })} +
+
+ ); +}; + +//Fixed warning Chip contrast for dark mode by using a darker orange background and white text to meet WCAG standards. + +// Added responsive text wrapping and ellipsis for Filter and Sort dropdowns to prevent overflow. + +// Updated header typography to wrap on small screens and prevent overflow (minWidth: 0, overflowWrap: 'break-word'). + +// Highlighted due-soon tasks using theme’s error.main color instead of inline red. + +// Added accessibility improvements: aria-labelledby on checkboxes, role="region" and aria-label for task list. + +// Ensured layout is responsive and compatible with both dark and light modes. \ No newline at end of file diff --git a/frontend/src/Footer.jsx b/frontend/src/Footer.jsx new file mode 100644 index 0000000000..dc7adcd77b --- /dev/null +++ b/frontend/src/Footer.jsx @@ -0,0 +1,35 @@ +import React from 'react'; +import { AppBar, Toolbar, Typography, useTheme } from '@mui/material'; + +export const Footer = () => { + const theme = useTheme(); + const isDark = theme.palette.mode === 'dark'; + const currentYear = new Date().getFullYear(); + + return ( + + + + © {currentYear} Task Manager by Darius Olsson Carter — All rights reserved. + + + + ); +}; diff --git a/frontend/src/Header.jsx b/frontend/src/Header.jsx new file mode 100644 index 0000000000..efdb048978 --- /dev/null +++ b/frontend/src/Header.jsx @@ -0,0 +1,40 @@ +import React from "react"; +import { AppBar, Toolbar, Typography, Button, Box, useTheme } from "@mui/material"; + +export const Header = ({ onLogout, onOpenGroups }) => { + const theme = useTheme(); + + const buttonStyle = { + bgcolor: theme.palette.background.paper, + color: theme.palette.text.primary, + "&:hover": { + bgcolor: theme.palette.mode === "dark" + ? theme.palette.background.default + : "#e0e0e0", + }, + ml: 1, + }; + + return ( + + + + Task Manager + + + + + + + + + ); +}; diff --git a/frontend/src/LoginPage.jsx b/frontend/src/LoginPage.jsx new file mode 100644 index 0000000000..9de47d7b51 --- /dev/null +++ b/frontend/src/LoginPage.jsx @@ -0,0 +1,103 @@ +import React, { useState } from "react"; +import { + Box, + Typography, + Button, + CssBaseline, + ThemeProvider, +} from "@mui/material"; +import LoginForm from "./login.jsx"; +import RegisterForm from "./registration.jsx"; + +export default function LoginPage({ theme, onLogin }) { + const [showRegisterModal, setShowRegisterModal] = useState(false); + + return ( + + + + + Welcome to To-Do App + + + {/* Login form */} + + + {/* Register button */} + + + {/* Register modal */} + {showRegisterModal && ( + setShowRegisterModal(false)} + > + e.stopPropagation()} + > + + + + + )} + + + ); +} diff --git a/frontend/src/SubmitTask.jsx b/frontend/src/SubmitTask.jsx new file mode 100644 index 0000000000..6b9ad005d1 --- /dev/null +++ b/frontend/src/SubmitTask.jsx @@ -0,0 +1,260 @@ +import React, { useState, useCallback } from 'react'; +import { useTaskStore } from './store/useTaskStore'; +import { useUserStore } from './store/useUserStore'; +import { + Box, + Button, + TextField, + Select, + MenuItem, + FormControl, + InputLabel, + useTheme, + Stack, + Typography +} from '@mui/material'; +import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'; +import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns'; +import { DatePicker } from '@mui/x-date-pickers/DatePicker'; + +export const SubmitTask = () => { + const theme = useTheme(); + const { addTask, projects, addProject } = useTaskStore(); + + // ---------------- Form State ---------------- + const [input, setInput] = useState(''); + const [category, setCategory] = useState(''); + const [projectId, setProjectId] = useState(''); + const [dueDate, setDueDate] = useState(null); + const [newProject, setNewProject] = useState(''); + const [fileObjects, setFileObjects] = useState([]); + const [folders, setFolders] = useState([]); + + // ---------------- Handlers ---------------- + const handleAddProject = useCallback(() => { + const name = newProject.trim(); + if (!name) return; + const id = Date.now(); + addProject({ id, name, completed: false }); + setProjectId(id); + setNewProject(''); + }, [newProject, addProject]); + + // File input handler - only updates fileObjects and folders + const handleFileInput = useCallback((e) => { + const files = Array.from(e.target.files); + if (!files.length) return; + + setFileObjects(prev => [...prev, ...files]); + const uniqueFolders = files.map(f => f.webkitRelativePath ? f.webkitRelativePath.split('/')[0] : 'root'); + setFolders(prev => [...new Set([...prev, ...uniqueFolders])]); + + // Reset input value so same file can be picked again + e.target.value = null; + }, []); + +const handleSubmit = useCallback(async (e) => { + e.preventDefault(); + if (!input.trim()) return alert('Please enter a task'); + + try { + const token = useUserStore.getState().token || localStorage.getItem("token"); + const formData = new FormData(); + formData.append('task', input.trim()); + formData.append('category', category); + // Don't send group — backend will set it from req.user.groupId + if (dueDate) formData.append('dueDate', dueDate.toISOString()); + + fileObjects.forEach(file => { + console.log("Appending file to FormData:", file.name, file.size, file.type); + formData.append('files', file, file.name); + }); + + // Debug FormData + console.log("FormData contents:"); + for (const [key, value] of formData.entries()) { + console.log(key, value instanceof File ? `${value.name} (${value.size} bytes)` : value); + } + + const res = await fetch('http://localhost:8080/tasks', { + method: 'POST', + headers: { Authorization: `Bearer ${token}` }, + body: formData, + }); + + const backendTask = await res.json(); + console.log("Backend response:", backendTask); + + if (backendTask.error) return alert(`Error: ${backendTask.error}`); + + addTask({ + id: backendTask._id || Date.now(), + title: backendTask.title || input.trim(), + category: backendTask.category || category, + projectId: projectId || null, // UI only + files: backendTask.files?.map(f => ({ + name: f.name, + path: f.url, + type: f.contentType, + size: f.size + })) || [], + folders: backendTask.folders || folders, + completed: backendTask.completed ?? false, + createdAt: backendTask.createdAt || new Date().toISOString(), + dueDate: backendTask.dueDate ? new Date(backendTask.dueDate) : dueDate, + }); + + // Reset form + setInput(''); + setCategory(''); + setProjectId(''); + setDueDate(null); + setFileObjects([]); + setFolders([]); + setNewProject(''); + + } catch (err) { + console.error("Error submitting task:", err); + alert(err.message); + } +}, [input, category, projectId, dueDate, fileObjects, folders, addTask]); + + + // ---------------- UI ---------------- + return ( + + + To Do List + + +
+ + setInput(e.target.value)} + fullWidth + required + inputProps={{ 'aria-label': 'Task name input' }} + /> + + + Category + + + + + Project + + + + + setNewProject(e.target.value)} + size="small" + fullWidth + inputProps={{ 'aria-label': 'New project name input' }} + /> + + + + + + + + + + {fileObjects.length > 0 && ( + + Files to Upload: +
    + {fileObjects.map((f, i) =>
  • {f.name}
  • )} +
+
+ )} + + + setDueDate(newVal)} + slotProps={{ + textField: { + fullWidth: true, + inputProps: { 'aria-label': 'Select due date for task' }, + sx: { '& .MuiSvgIcon-root': { color: theme.palette.mode === 'dark' ? theme.palette.primary.main : 'inherit' } } + } + }} + /> + + + +
+
+
+ ); +}; diff --git a/frontend/src/Tasks.jsx b/frontend/src/Tasks.jsx new file mode 100644 index 0000000000..ff759d471b --- /dev/null +++ b/frontend/src/Tasks.jsx @@ -0,0 +1,21 @@ +export const Tasks = () => { + + +return ( + <> +

To Do List

+
    +
  • +
  • Build a To-Do List App
  • +
  • Deploy the App
  • +
+

Total tasks: 3

+ +); + + + + + + +} \ No newline at end of file diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx new file mode 100644 index 0000000000..7d993657c5 --- /dev/null +++ b/frontend/src/groups-mngnt.jsx @@ -0,0 +1,283 @@ +import React, { useEffect, useState, useMemo } from "react"; +import { + AppBar, + Toolbar, + Typography, + Box, + Button, + TextField, + Paper, + IconButton, + Snackbar, + Alert, + Pagination, + List, + ListItem, + ListItemText, + Divider, + Dialog, + DialogTitle, + DialogContent, + ListItemIcon, + MenuItem, +} from "@mui/material"; +import DeleteIcon from "@mui/icons-material/Delete"; +import AddIcon from "@mui/icons-material/Add"; +import GroupIcon from "@mui/icons-material/Group"; +import PersonIcon from "@mui/icons-material/Person"; +import { useGroupStore } from "./store/useGroupStore"; +import { useUserStore } from "./store/useUserStore"; +import { useTaskStore } from "./store/useTaskStore"; + +const GroupsManagement = () => { + const { user, loadUserFromStorage } = useUserStore(); +const userId = user?.id; // not _id + + + const { groups, fetchGroups, createGroup, deleteGroup, joinGroup, leaveGroup, setProject, removeProject } = + useGroupStore(); + const { projects } = useTaskStore(); + + const [newGroup, setNewGroup] = useState(""); + const [search, setSearch] = useState(""); + const [projectInputs, setProjectInputs] = useState({}); + const [page, setPage] = useState(1); + const [snackbar, setSnackbar] = useState({ open: false, message: "", severity: "success" }); + const [membersDialog, setMembersDialog] = useState({ open: false, members: [] }); + + const itemsPerPage = 5; +useEffect(() => { + loadUserFromStorage() + .then(() => fetchGroups()) + .catch(() => openSnackbar("Failed to load user data or groups", "error")); +}, [loadUserFromStorage, fetchGroups]); + + const filteredGroups = useMemo( + () => groups.filter((g) => g.name.toLowerCase().includes(search.toLowerCase())), + [groups, search] + ); + + const openSnackbar = (message, severity = "success") => + setSnackbar({ open: true, message, severity }); + + const handleCreate = async () => { + if (!newGroup.trim()) return; + try { + await createGroup(newGroup.trim()); + openSnackbar("Group created successfully"); + setNewGroup(""); + } catch { + openSnackbar("Error creating group", "error"); + } + }; + + const handleDelete = async (id) => { + try { + await deleteGroup(id); + openSnackbar("Group deleted", "info"); + } catch { + openSnackbar("Error deleting group", "error"); + } + }; + + const handleJoinLeave = async (group, isMember) => { + try { + isMember ? await leaveGroup(group._id) : await joinGroup(group._id); + openSnackbar(isMember ? "Left group" : "Joined group"); + } catch { + openSnackbar("Action failed", "error"); + } + }; + + const handleSetProject = async (groupId) => { + const projectId = projectInputs[groupId]; + if (!projectId) return; + + const project = projects.find((p) => p.id === projectId); + if (!project) return; + + try { + await setProject(groupId, project.name); + openSnackbar("Project assigned"); + setProjectInputs((prev) => ({ ...prev, [groupId]: "" })); + } catch { + openSnackbar("Failed to assign project", "error"); + } + }; + + const handleRemoveProject = async (groupId) => { + try { + await removeProject(groupId); + openSnackbar("Project removed"); + } catch { + openSnackbar("Failed to remove project", "error"); + } + }; + + const openMembersDialog = (members) => setMembersDialog({ open: true, members }); + const closeMembersDialog = () => setMembersDialog({ open: false, members: [] }); + + return ( + + + + {/* Top Bar */} + + + + + + Groups Management + + setSearch(e.target.value)} + sx={{ + bgcolor: "white", + borderRadius: 1, + "& .MuiInputBase-input::placeholder": { + color: "black", + opacity: 1, + }, + }} + /> + + + + {/* Main Content */} + + {/* Create Group */} + + setNewGroup(e.target.value)} + fullWidth + /> + + + + {/* Group List */} + + {filteredGroups + .slice((page - 1) * itemsPerPage, page * itemsPerPage) + .map((group) => {const isMember = group.members?.some(member => member._id === userId); + + + console.log("Group:", group , group.name, "isMember:", isMember, "members:", group.members, "userId:", userId); + + + + const currentProjectName = group.currentProject || "None"; + + return ( + + + + + handleDelete(group._id)}> + + + + } + > + + Members: {group.members?.length || 0} + + + Project: {currentProjectName} + + + setProjectInputs((prev) => ({ ...prev, [group._id]: e.target.value })) + } + sx={{ minWidth: 150 }} + > + -- Select Project -- + {projects.map((p) => ( + + {p.name} + + ))} + + + + + {/* Finish Project button */} + + + + } + /> + + + + ); + })} + + + {/* Pagination */} + setPage(val)} + sx={{ mt: 2 }} + /> + + + {/* Snackbar */} + setSnackbar((prev) => ({ ...prev, open: false }))} + > + {snackbar.message} + + + {/* Members Dialog */} + + Group Members + + + {membersDialog.members.map((m) => ( + + + + + + + ))} + + + + + ); +}; + +export default GroupsManagement; diff --git a/frontend/src/index.css b/frontend/src/index.css index e69de29bb2..8ff52fc378 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -0,0 +1,41 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; +} +.dark-background, +.light-background { + background-size: 75%; /* Adjusts visual size */ + background-position: center; + background-repeat: no-repeat; + background-attachment: fixed; + height: 100vh; +} + + +/* -------------- MOBILE 0-600px -------------- */ +@media (max-width: 600px) { + .display-tasks { padding: 16px; } + .filter-actions { flex-direction: column; align-items: stretch; } + .filter-actions > * { width: 100%; } + .task-item { margin-bottom: 12px; } + .task-card { padding: 12px; } + .task-top { flex-direction: column; align-items: flex-start; } + .task-delete { width: 100%; margin-top: 6px; } +} + +/* -------------- SMALL TABLET 601-900px -------------- */ +@media (min-width: 601px) and (max-width: 900px) { + .display-tasks { max-width: 90%; } + .filter-actions { flex-wrap: nowrap; } + .filter-actions > * { flex: 0 0 auto; } + .task-delete { width: auto; } +} + +/* -------------- MEDIUM 901-1200px -------------- */ +@media (min-width: 901px) and (max-width: 1200px) { + .display-tasks { max-width: 80%; } +} + +/* -------------- DESKTOP ≥1201px -------------- */ +@media (min-width: 1201px) { + .display-tasks { max-width: 600px; } +} \ No newline at end of file diff --git a/frontend/src/login.jsx b/frontend/src/login.jsx new file mode 100644 index 0000000000..1d440d801a --- /dev/null +++ b/frontend/src/login.jsx @@ -0,0 +1,107 @@ +import React, { useState } from 'react'; +import { + TextField, + Button, + Box, + Typography, + Paper, +} from '@mui/material'; + +const LoginForm = ({ onLogin }) => { + const [username, setUsername] = useState(''); + const [password, setPassword] = useState(''); + const [error, setError] = useState(''); + + const handleLogin = async (e) => { + e.preventDefault(); + setError(''); + + try { + const res = await fetch('http://localhost:8080/auth/login', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ username, password }), + }); + + const data = await res.json(); + if (!res.ok) throw new Error(data.message || 'Login failed'); + localStorage.setItem('token', data.token); + onLogin(data.token); + } catch (err) { + setError(err.message); + } + }; + + return ( + + + Login + + + setUsername(e.target.value)} + required + autoComplete="username" + fullWidth + /> + + setPassword(e.target.value)} + required + autoComplete="current-password" + fullWidth + /> + + + + {error && ( + + {error} + + )} + + ); +}; + +export default LoginForm; diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index 51294f3998..1b8ffe9baa 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -1,10 +1,12 @@ -import React from "react"; -import ReactDOM from "react-dom/client"; -import { App } from "./App.jsx"; -import "./index.css"; +import React from 'react' +import ReactDOM from 'react-dom/client' -ReactDOM.createRoot(document.getElementById("root")).render( +import { App } from './App.jsx' + +import './index.css' + +ReactDOM.createRoot(document.getElementById('root')).render( -); +) diff --git a/frontend/src/registration.jsx b/frontend/src/registration.jsx new file mode 100644 index 0000000000..fa780aa648 --- /dev/null +++ b/frontend/src/registration.jsx @@ -0,0 +1,103 @@ +import { useState } from 'react'; + +const RegisterForm = () => { + const [username, setUsername] = useState(''); + const [password, setPassword] = useState(''); + const [message, setMessage] = useState(''); + + const handleRegister = async (e) => { + e.preventDefault(); + console.log("Submitting:", username, password); + + setMessage(''); + + try { + const res = await fetch('http://localhost:8080/auth/register', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ username, password }), + }); + + const data = await res.json(); + console.log("Response:", data); + if (!res.ok) throw new Error(data.message || 'Registration failed'); + setMessage('🎉 Registered successfully!'); + } catch (err) { + setMessage(`❌ ${err.message}`); + } + }; + + return ( +
+

+ Register +

+ + + setUsername(e.target.value)} + required + aria-required="true" + aria-describedby="username-desc" + placeholder="Enter your username" + style={{ color: '#005FCC' }} + /> + + Choose a unique username. + + + + setPassword(e.target.value)} + required + aria-required="true" + aria-describedby="password-desc" + placeholder="Enter your password" + style={{ color: '#005FCC' }} + /> + + Use at least 6 characters. + + + + + + {message && ( +

+ {message} +

+ )} +
+ ); +}; + + +export default RegisterForm; diff --git a/frontend/src/store/useGroupStore.jsx b/frontend/src/store/useGroupStore.jsx new file mode 100644 index 0000000000..758218f6d9 --- /dev/null +++ b/frontend/src/store/useGroupStore.jsx @@ -0,0 +1,121 @@ +import { create } from "zustand"; +import axios from "axios"; + +const API_BASE = import.meta.env.VITE_API_BASE || "http://localhost:8080"; + +// Helper to get auth headers +const getAuthHeaders = () => { + const token = localStorage.getItem("token"); // JWT stored in localStorage + return token ? { Authorization: `Bearer ${token}` } : {}; +}; + +export const useGroupStore = create((set, get) => ({ + groups: [], + + fetchGroups: async () => { + try { + const { data } = await axios.get(`${API_BASE}/groups`, { + headers: getAuthHeaders(), + withCredentials: true, // keep this if your backend also sets cookies + }); + console.log("Fetched groups response:", data); + set({ groups: Array.isArray(data) ? data : [] }); + } catch (err) { + console.error("Failed to fetch groups:", err.response?.data || err); + set({ groups: [] }); + throw err; + } + }, + + createGroup: async (name) => { + if (!name?.trim()) return; + try { + const { data } = await axios.post( + `${API_BASE}/groups`, + { name: name.trim() }, + { headers: getAuthHeaders(), withCredentials: true } + ); + set((state) => ({ groups: [...state.groups, data || { name, members: [] }] })); + } catch (err) { + console.error("Failed to create group:", err.response?.data || err); + throw err; + } + }, + + joinGroup: async (id) => { + try { + await axios.put(`${API_BASE}/groups/${id}/join`, {}, { + headers: getAuthHeaders(), + withCredentials: true + }); + await get().fetchGroups(); + } catch (err) { + console.error("Failed to join group:", err.response?.data || err); + throw err; + } + }, + + leaveGroup: async (id) => { + try { + await axios.put(`${API_BASE}/groups/${id}/leave`, {}, { + headers: getAuthHeaders(), + withCredentials: true + }); + await get().fetchGroups(); + } catch (err) { + console.error("Failed to leave group:", err.response?.data || err); + throw err; + } + }, + + deleteGroup: async (id) => { + try { + await axios.delete(`${API_BASE}/groups/${id}`, { + headers: getAuthHeaders(), + withCredentials: true + }); + set((state) => ({ groups: state.groups.filter((g) => g._id !== id) })); + } catch (err) { + console.error("Failed to delete group:", err.response?.data || err); + throw err; + } + }, + + setProject: async (id, projectName) => { + try { + await axios.put(`${API_BASE}/groups/${id}/project`, { projectName }, { + headers: getAuthHeaders(), + withCredentials: true + }); + await get().fetchGroups(); + } catch (err) { + console.error("Failed to set project:", err.response?.data || err); + throw err; + } + },setGroupProject: async (groupId, projectName) => { + try { + await axios.put(`${API_BASE}/groups/${groupId}/project`, { projectName }, { withCredentials: true }); + set((state) => ({ + groups: state.groups.map((g) => + g._id === groupId ? { ...g, currentProject: projectName } : g + ), + })); + } catch (err) { + console.error("Failed to set project:", err); + throw err; + } +}, + +removeProject: async (id) => { + try { + await axios.delete(`${API_BASE}/groups/${id}/project`, { + headers: getAuthHeaders(), + withCredentials: true + }); + await get().fetchGroups(); + } catch (err) { + console.error("Failed to remove project:", err.response?.data || err); + throw err; + } +}, +})); diff --git a/frontend/src/store/useTaskStore.jsx b/frontend/src/store/useTaskStore.jsx new file mode 100644 index 0000000000..964d3b2247 --- /dev/null +++ b/frontend/src/store/useTaskStore.jsx @@ -0,0 +1,121 @@ +import { create } from 'zustand'; + +const load = (key) => { + try { + return JSON.parse(localStorage.getItem(key)) || []; + } catch { + return []; + } +}; + +const save = (key, data) => localStorage.setItem(key, JSON.stringify(data)); + +export const useTaskStore = create((set, get) => ({ + + /* ---------- STATE ---------- */ + tasks: load('tasks'), + projects: load('projects'), + + /* ---------- TASK ACTIONS ---------- */ + addTask: (task) => { + const newTask = { + id: Date.now(), + title: task.title || task.task || 'Untitled Task', + category: task.category || '', + projectId: task.projectId || null, + files: task.files || [], + folders: task.folders || [], + completed: false, + createdAt: new Date().toISOString(), + dueDate: task.dueDate || null, + }; + + const tasks = [...get().tasks, newTask]; + save('tasks', tasks); + set({ tasks }); + + if (newTask.projectId) get().updateProjectCompletion(newTask.projectId); + }, + + deleteTask: (id) => { + const tasks = get().tasks.filter(t => t.id !== id); + save('tasks', tasks); + set({ tasks }); + }, + + toggleTaskCompletion: (id) => { + const tasks = get().tasks.map(t => + t.id === id ? { ...t, completed: !t.completed } : t + ); + save('tasks', tasks); + set({ tasks }); + + const task = tasks.find(t => t.id === id); + if (task?.projectId) get().updateProjectCompletion(task.projectId); + }, + + completeAllTasks: () => { + const tasks = get().tasks.map(t => ({ ...t, completed: true })); + save('tasks', tasks); + set({ tasks }); + + [...new Set(tasks.map(t => t.projectId).filter(Boolean))] + .forEach(pid => get().updateProjectCompletion(pid)); + }, + + /* ---------- TASK QUERIES ---------- */ + filterTasks: (status = 'all', afterDate = null) => { + let filtered = get().tasks; + + if (status === 'completed') filtered = filtered.filter(t => t.completed); + if (status === 'uncompleted') filtered = filtered.filter(t => !t.completed); + + if (afterDate) { + const after = new Date(afterDate); + filtered = filtered.filter(t => new Date(t.createdAt) > after); + } + + return filtered; + }, + + /* ---------- PROJECT ACTIONS ---------- */ + addProject: (project) => { + const newProject = { + id: project.id || Date.now(), + name: project.name || 'Untitled Project', + completed: project.completed || false, + }; + const projects = [...get().projects, newProject]; + save('projects', projects); + set({ projects }); + }, + + deleteProject: (projectId) => { + const projects = get().projects.filter(p => p.id !== projectId); + save('projects', projects); + set({ projects }); + + const tasks = get().tasks.map(t => + t.projectId === projectId ? { ...t, projectId: null } : t + ); + save('tasks', tasks); + set({ tasks }); + }, + + updateProjectCompletion: (projectId) => { + if (!projectId) return; + const tasks = get().tasks.filter(t => t.projectId === projectId); + const allComplete = tasks.length > 0 && tasks.every(t => t.completed); + + const projects = get().projects.map(p => + p.id === projectId ? { ...p, completed: allComplete } : p + ); + save('projects', projects); + set({ projects }); + }, + + /* ---------- HELPERS ---------- */ + isOverdue: (task) => + !!task.dueDate && !task.completed && new Date(task.dueDate) < new Date(), + +})); diff --git a/frontend/src/store/useUserStore.jsx b/frontend/src/store/useUserStore.jsx new file mode 100644 index 0000000000..9c5b90af8d --- /dev/null +++ b/frontend/src/store/useUserStore.jsx @@ -0,0 +1,42 @@ +import { create } from "zustand"; +import axios from "axios"; + +const API_BASE = "http://localhost:8080"; + +export const useUserStore = create((set, get) => ({ + user: null, // { id, username, group } + token: null, + + // --- Set user and persist token --- + setUser: (user, token) => { + if (token) { + localStorage.setItem("token", token); + axios.defaults.headers.common["Authorization"] = `Bearer ${token}`; + } + set({ user, token }); + }, + + // --- Clear user and token --- + clearUser: () => { + const { setUser } = get(); // get other actions + localStorage.removeItem("token"); + axios.defaults.headers.common["Authorization"] = ""; + setUser(null, null); // call the setUser action properly + }, + + // --- Load user from localStorage --- + loadUserFromStorage: async () => { + const token = localStorage.getItem("token"); + if (!token) return; + + try { + axios.defaults.headers.common["Authorization"] = `Bearer ${token}`; + const { data } = await axios.get(`${API_BASE}/auth/me`); + set({ user: data.user, token }); + } catch (err) { + console.error("Failed to load user from storage:", err); + const { setUser } = get(); + setUser(null, null); // call properly + } + }, +})); diff --git a/package.json b/package.json index 680d190772..70c54dd2c4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,26 @@ { - "name": "project-final-parent", + "name": "backend", "version": "1.0.0", + "type": "module", + "main": "server.js", "scripts": { - "postinstall": "npm install --prefix backend" + "start": "babel-node backend/server.js", + "dev": "nodemon backend/server.js --exec babel-node" + }, + "dependencies": { + "cors": "^2.8.5", + "dotenv": "^16.3.1", + "express": "^4.18.2", + "gridfs-stream": "^1.1.1", + "jsonwebtoken": "^9.0.0", + "mongoose": "^8.0.0", + "multer-gridfs-storage": "^5.0.2" + }, + "devDependencies": { + "@babel/core": "^7.28.3", + "@babel/node": "^7.28.0", + "@babel/preset-env": "^7.28.3", + "@vitejs/plugin-react": "^5.0.1", + "nodemon": "^3.1.10" } -} \ No newline at end of file +} From 05598efbd9a672c15d776943ee2952c263f26ebf Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Thu, 11 Sep 2025 22:51:08 +0200 Subject: [PATCH 02/22] prod ready lets go --- .gitignore | 34 ++++++++++++++++++++++------ backend/db/db.js | 4 ++-- backend/middleware/authmiddleware.js | 3 +-- backend/routes/auth.js | 5 +++- backend/routes/taskroutes.js | 1 + backend/wake.js | 8 +++++++ frontend/src/App.jsx | 2 +- package.json | 6 ++--- 8 files changed, 47 insertions(+), 16 deletions(-) create mode 100644 backend/wake.js diff --git a/.gitignore b/.gitignore index 3d70248ba2..0936ed3415 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,35 @@ -node_modules -.DS_Store +# Node modules +node_modules/ +backend/node_modules/ +frontend/node_modules/ + +# Logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Environment variables .env .env.local .env.development.local .env.test.local .env.production.local +backend/.env +frontend/.env -build +# Build outputs +frontend/dist/ +frontend/build/ +build/ -npm-debug.log* -yarn-debug.log* -yarn-error.log* +# OS files +.DS_Store +Thumbs.db + +# IDE configs +.vscode/ +.idea/ -package-lock.json \ No newline at end of file +# Package lock +package-lock.json diff --git a/backend/db/db.js b/backend/db/db.js index 4f1ed68935..fb86065218 100644 --- a/backend/db/db.js +++ b/backend/db/db.js @@ -1,12 +1,12 @@ import mongoose from "mongoose"; export const connectDB = async () => { - const mongoUrl = process.env.MONGO_URL || "mongodb://localhost:27017/task-manager"; + const mongoUrl = process.env.MONGO_URI || "mongodb://localhost:27017/task-manager"; try { await mongoose.connect(mongoUrl, { useNewUrlParser: true, - useUnifiedTopology: true, + }); console.log("✅ MongoDB connected:", mongoUrl); } catch (err) { diff --git a/backend/middleware/authmiddleware.js b/backend/middleware/authmiddleware.js index a6b7cf4e12..4887d73b02 100644 --- a/backend/middleware/authmiddleware.js +++ b/backend/middleware/authmiddleware.js @@ -27,8 +27,7 @@ export const authMiddleware = (req, res, next) => { groupId: decoded.groupId, }; - console.log("[Auth] req.user set:", req.user); - + next(); } catch (err) { console.error("[Auth] Error verifying token:", err.message); diff --git a/backend/routes/auth.js b/backend/routes/auth.js index 09d7bfde81..9ec578d26a 100644 --- a/backend/routes/auth.js +++ b/backend/routes/auth.js @@ -62,12 +62,15 @@ router.post("/login", async (req, res) => { // Find user by username o const user = await User.findOne({ username }).populate("group"); - +console.log("[/auth/login] Fetched user:", user); if (!user) return res.status(401).json({ error: "User not found" }); // Compare password const isMatch = await bcrypt.compare(password, user.passwordHash); + +console.log("[/auth/login] Password match:", isMatch); if (!isMatch) return res.status(401).json({ error: "Invalid password" }); + // Generate JWT const token = jwt.sign( diff --git a/backend/routes/taskroutes.js b/backend/routes/taskroutes.js index 847f045a11..2f05b4385f 100644 --- a/backend/routes/taskroutes.js +++ b/backend/routes/taskroutes.js @@ -89,6 +89,7 @@ router.get("/files/:filename", async (req, res) => { router.post("/", authMiddleware, upload.array("files", 5), async (req, res) => { try { const { task: title, category, projectId, dueDate, description } = req.body; + const files = await Promise.all((req.files || []).map(saveFileToGridFS)); const safeCategory = category?.trim() || "Other"; diff --git a/backend/wake.js b/backend/wake.js new file mode 100644 index 0000000000..847caa83ea --- /dev/null +++ b/backend/wake.js @@ -0,0 +1,8 @@ +import mongoose from "mongoose"; +import dotenv from "dotenv"; + +dotenv.config(); + +mongoose.connect(process.env.MONGO_URI) + .then(() => console.log("✅ Cluster awake!")) + .catch(err => console.error(err)); diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 1e6fafed20..685d21a1a6 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -129,7 +129,7 @@ export const App = () => { const handleLogin = (token) => { localStorage.setItem('token', token); - setUser({ ...userData, token }); + setUser({ ...user, token }); }; const handleLogout = () => { diff --git a/package.json b/package.json index 70c54dd2c4..eb79a2a1f5 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "type": "module", "main": "server.js", "scripts": { - "start": "babel-node backend/server.js", + "start": "node backend/server.js", "dev": "nodemon backend/server.js --exec babel-node" }, "dependencies": { @@ -13,7 +13,7 @@ "express": "^4.18.2", "gridfs-stream": "^1.1.1", "jsonwebtoken": "^9.0.0", - "mongoose": "^8.0.0", + "mongoose": "^8.18.0", "multer-gridfs-storage": "^5.0.2" }, "devDependencies": { @@ -21,6 +21,6 @@ "@babel/node": "^7.28.0", "@babel/preset-env": "^7.28.3", "@vitejs/plugin-react": "^5.0.1", - "nodemon": "^3.1.10" + "nodemon": "^3.1.7" } } From 65c7ca0dfc059123c7bd3e6417878aa8bb6c296b Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Thu, 11 Sep 2025 23:51:22 +0200 Subject: [PATCH 03/22] prod ready lets gox2 i installed bycrypt --- backend/server.js | 2 +- package.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/server.js b/backend/server.js index 6112aff7d4..6fff8854e6 100644 --- a/backend/server.js +++ b/backend/server.js @@ -20,7 +20,7 @@ connectDB(); // --- CORS Setup --- const allowedOrigins = [ "http://localhost:5173", - "https://your-production-frontend.com" + "https://project-final-darius-1.onrender.com" ]; app.use(cors({ diff --git a/package.json b/package.json index eb79a2a1f5..90c83d8a0f 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "dev": "nodemon backend/server.js --exec babel-node" }, "dependencies": { + "bcrypt": "^6.0.0", "cors": "^2.8.5", "dotenv": "^16.3.1", "express": "^4.18.2", From da06c9ad50bf9b0a68eed2c7231b1472e204ba97 Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Fri, 12 Sep 2025 00:02:08 +0200 Subject: [PATCH 04/22] deploy --- backend/server.js | 2 +- frontend/src/SubmitTask.jsx | 3 ++- frontend/src/login.jsx | 2 +- frontend/src/registration.jsx | 2 +- frontend/src/store/useUserStore.jsx | 3 ++- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/server.js b/backend/server.js index 6fff8854e6..6f11cf2c06 100644 --- a/backend/server.js +++ b/backend/server.js @@ -19,7 +19,7 @@ connectDB(); // --- CORS Setup --- const allowedOrigins = [ - "http://localhost:5173", + "https://project-final-darius.netlify.app", "https://project-final-darius-1.onrender.com" ]; diff --git a/frontend/src/SubmitTask.jsx b/frontend/src/SubmitTask.jsx index 6b9ad005d1..b2240a6228 100644 --- a/frontend/src/SubmitTask.jsx +++ b/frontend/src/SubmitTask.jsx @@ -60,6 +60,7 @@ const handleSubmit = useCallback(async (e) => { try { const token = useUserStore.getState().token || localStorage.getItem("token"); const formData = new FormData(); + formData.append('task', input.trim()); formData.append('category', category); // Don't send group — backend will set it from req.user.groupId @@ -76,7 +77,7 @@ const handleSubmit = useCallback(async (e) => { console.log(key, value instanceof File ? `${value.name} (${value.size} bytes)` : value); } - const res = await fetch('http://localhost:8080/tasks', { + const res = await fetch('https://project-final-darius-1.onrender.com/tasks', { method: 'POST', headers: { Authorization: `Bearer ${token}` }, body: formData, diff --git a/frontend/src/login.jsx b/frontend/src/login.jsx index 1d440d801a..2e4da688e7 100644 --- a/frontend/src/login.jsx +++ b/frontend/src/login.jsx @@ -17,7 +17,7 @@ const LoginForm = ({ onLogin }) => { setError(''); try { - const res = await fetch('http://localhost:8080/auth/login', { + const res = await fetch('https://project-final-darius-1.onrender.com/auth/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ username, password }), diff --git a/frontend/src/registration.jsx b/frontend/src/registration.jsx index fa780aa648..eef705d8cc 100644 --- a/frontend/src/registration.jsx +++ b/frontend/src/registration.jsx @@ -12,7 +12,7 @@ const RegisterForm = () => { setMessage(''); try { - const res = await fetch('http://localhost:8080/auth/register', { + const res = await fetch('https://project-final-darius-1.onrender.com/auth/register', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ username, password }), diff --git a/frontend/src/store/useUserStore.jsx b/frontend/src/store/useUserStore.jsx index 9c5b90af8d..216980a721 100644 --- a/frontend/src/store/useUserStore.jsx +++ b/frontend/src/store/useUserStore.jsx @@ -1,7 +1,8 @@ import { create } from "zustand"; import axios from "axios"; -const API_BASE = "http://localhost:8080"; + +const API_BASE = "https://project-final-darius-1.onrender.com"; export const useUserStore = create((set, get) => ({ user: null, // { id, username, group } From b29e2265733019641f4d47b308e64df00c52ba6d Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Fri, 12 Sep 2025 00:17:03 +0200 Subject: [PATCH 05/22] deployx2 --- frontend/public/_redirects | 1 + 1 file changed, 1 insertion(+) create mode 100644 frontend/public/_redirects diff --git a/frontend/public/_redirects b/frontend/public/_redirects new file mode 100644 index 0000000000..ad37e2c2c9 --- /dev/null +++ b/frontend/public/_redirects @@ -0,0 +1 @@ +/* /index.html 200 From 8cf47cc88316787c295c41bb01b57f3e66cee125 Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Fri, 12 Sep 2025 00:36:28 +0200 Subject: [PATCH 06/22] deployx3 --- frontend/src/DisplayTasks.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/DisplayTasks.jsx b/frontend/src/DisplayTasks.jsx index 1631ae87a7..5ea5db3dc4 100644 --- a/frontend/src/DisplayTasks.jsx +++ b/frontend/src/DisplayTasks.jsx @@ -349,7 +349,7 @@ export const DisplayTasks = () => { const headers = token ? { Authorization: `Bearer ${token}` } : {}; const fetchUrl = fileUrl.startsWith("/") - ? `http://localhost:8080${fileUrl}` + ? `https://project-final-darius-1.onrender.com${fileUrl}` : file.url; console.log("[File] Fetching:", fetchUrl, "with headers:", headers); From 2338fe59d9c68247acdf050f51c14190be7b3821 Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Sun, 14 Sep 2025 16:38:49 +0200 Subject: [PATCH 07/22] deployx4 group route fix --- frontend/src/store/useGroupStore.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/store/useGroupStore.jsx b/frontend/src/store/useGroupStore.jsx index 758218f6d9..9189b6192e 100644 --- a/frontend/src/store/useGroupStore.jsx +++ b/frontend/src/store/useGroupStore.jsx @@ -1,7 +1,7 @@ import { create } from "zustand"; import axios from "axios"; -const API_BASE = import.meta.env.VITE_API_BASE || "http://localhost:8080"; +const API_BASE = import.meta.env.VITE_API_BASE || "https://project-final-darius-1.onrender.com"; // Helper to get auth headers const getAuthHeaders = () => { From bc62a206593876335f9cd968cbb4969e87c7bed1 Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Sun, 14 Sep 2025 16:46:41 +0200 Subject: [PATCH 08/22] deployx4 group route fix even better --- frontend/src/store/useGroupStore.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/store/useGroupStore.jsx b/frontend/src/store/useGroupStore.jsx index 9189b6192e..ac1625716d 100644 --- a/frontend/src/store/useGroupStore.jsx +++ b/frontend/src/store/useGroupStore.jsx @@ -1,7 +1,7 @@ import { create } from "zustand"; import axios from "axios"; -const API_BASE = import.meta.env.VITE_API_BASE || "https://project-final-darius-1.onrender.com"; +const API_BASE = "https://project-final-darius-1.onrender.com"; // Helper to get auth headers const getAuthHeaders = () => { From 20e01c7b8677fd2f6d9fe9138ba67f87178a1a6c Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Sun, 14 Sep 2025 17:30:52 +0200 Subject: [PATCH 09/22] deployx5 robots file --- frontend/public/robots.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 frontend/public/robots.txt diff --git a/frontend/public/robots.txt b/frontend/public/robots.txt new file mode 100644 index 0000000000..542c6194a7 --- /dev/null +++ b/frontend/public/robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Allow: / +Sitemap: https://project-final-darius.netlify.app/sitemap.xml From aa0770124540b4dd98dc90aab60a00ab39c36912 Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Sun, 14 Sep 2025 17:48:16 +0200 Subject: [PATCH 10/22] Update README.md --- README.md | 143 ++++++++++++------------------------------------------ 1 file changed, 30 insertions(+), 113 deletions(-) diff --git a/README.md b/README.md index a4f6446d2f..32f7a38cd8 100644 --- a/README.md +++ b/README.md @@ -1,141 +1,58 @@ -# Final Project +Final Project -Replace this readme with your own information about your project. +#This is a full-stack Task Management App where users can create, update, and manage tasks, projects, and groups with file uploads, authentication, and a responsive UI. -Start by briefly describing the assignment in a sentence or two. Keep it short and to the point. +# The problem -## The problem +#A lot of people including myself have task managing problems this app solves it with a vast array of methods. It also supports collaberation. -Describe how you approached to problem, and what tools and techniques you used to solve it. How did you plan? What technologies did you use? If you had more time, what would be next? +#The assignment was to build a complete full-stack application. I chose to create a task and project management system that supports collaboration, authentication, and file handling. -## View it live +#I planned the project around scalability and user experience, using: -Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about. +#Frontend: React (Vite) with Zustand for state management and Material-UI for accessible, responsive components. -Task Management +Backend: Node.js + Express with MongoDB, GridFS for file storage, Multer for uploads, and JWT for authentication. -Tasks are the core unit of this app and have full CRUD support. +Deployment: Netlify (frontend) and Render (backend). -Features: +If I had more time, I’d add real-time updates (WebSockets), richer collaboration tools, and more advanced analytics dashboards. -Create Task: Users can create tasks with a title, description, due date, category, project association, and file attachments. +## View live +https://project-final-darius-1.onrender.com -Update Task: Tasks can be updated to change details or add files; multiple files supported via Multer memory storage and stored in MongoDB GridFS. +Frontend: https://project-final-darius.netlify.app/ -Delete Task: Tasks can be deleted individually; tasks linked to a project update project completion automatically. +Key Highlights: -Completion Tracking: Tasks can be marked completed/uncompleted. The system also allows marking all tasks completed at once. +Frontend: React (Vite), Zustand for state management with persistence, Material-UI for responsive and accessible UI, Axios for API communication. -Filters & Queries: Tasks can be filtered by status (completed/uncompleted/all) or by creation date. +Backend: Node.js + Express with a RESTful API, MongoDB for storage, GridFS for file handling, Multer for uploads, and JWT for authentication. -Implementation Details: +Core Features: -Zustand Store: The useTaskStore manages task and project state on the frontend, syncing with localStorage for offline persistence. +Full task CRUD (create, update, delete, completion tracking). -Project Auto-Completion: Whenever a task's completion state changes, the associated project's completion status is recalculated. +Project management with automatic completion calculation. -Backend Highlights: +Group management (create, join, leave, assign projects). -API endpoints include POST /tasks, GET /tasks, PUT /tasks/:id, DELETE /tasks/:id +File uploads stored in MongoDB GridFS. -GridFS allows large or multiple files per task, streamed efficiently to clients. +Filtering, search, and pagination support. -Project Management +UX & Accessibility: Dark/light mode toggle, responsive layout, ARIA roles, modals, snackbars, and real-time state-driven updates. -Projects group tasks and provide higher-level completion tracking. +Deployment: Frontend on Netlify, backend on Render. -Features: +What it demonstrates: -Add/delete projects. +Proficiency in advanced state management (Zustand + persistence). -Associate tasks with projects. +Secure authentication with JWT and protected API routes. -Projects automatically reflect the completion percentage based on their tasks. +Scalable backend architecture with modular routes and file storage. -Implementation Details: +Strong focus on UX and accessibility through Material-UI and responsive design. -Projects are stored in useTaskStore alongside tasks, and updateProjectCompletion automatically calculates if all tasks in the project are complete. - -When a project is deleted, all tasks linked to it are updated to remove the association. - -Group Management - -Groups allow collaborative work and task segregation. - -Features: - -Create, delete, join, leave groups. - -Assign projects to groups. - -View members and their task/project assignments. - -Pagination and search support for large numbers of groups. - -Frontend Implementation: - -The GroupsManagement component handles all UI interactions for group management. - -State is managed via useGroupStore (Zustand), fetching data from the backend. - -Snackbars provide real-time feedback for actions like joining, leaving, or creating groups. - -Backend Implementation: - -Express routes handle all group operations (/groups, /groups/:id/join, /groups/:id/leave, etc.) - -Protected by JWT auth middleware for security. - -Frontend Features - -Responsive & Accessible UI: Fully responsive layouts using Material-UI; ARIA roles on modals and dialogs for accessibility. - -Dark Mode: Toggleable dark/light mode using Material-UI theme provider, with background images and color palettes adjusted dynamically. - -Modals: Login, registration, and group management modals overlay the main content without breaking app flow. - -Task & Project Dashboard: Summary panels show total tasks, uncompleted tasks, and project completion percentages in real-time. - -State Management: - -Zustand stores ensure all state changes (tasks, projects, groups, user info) update the UI reactively. - -LocalStorage persistence allows offline resilience. - -Backend Highlights - -RESTful API Structure: Modular Express routes for tasks, groups, projects, and auth. - -File Handling: Multer handles in-memory file uploads, streamed to MongoDB GridFS. - -Authentication: JWT middleware protects sensitive routes, ensuring only authenticated users can access their group-specific tasks/projects. - -Error Handling & Logging: Console logs and HTTP status codes used throughout for debugging and feedback. - -Advanced Features & Architectural Decisions - -State-driven UI: Zustand stores are the single source of truth for tasks, projects, groups, and user authentication. - -Automatic Project Status: Projects reflect real-time task completion without manual updates. - -Secure & Modular Backend: Auth middleware, modular route files, and GridFS for scalable file storage. - -User Experience: Modals, snackbars, and responsive layout provide polished UX, with immediate feedback on all actions. - -Future-Ready: Architecture allows easy integration of real-time updates via WebSockets or additional collaborative features. - -Conclusion - -This project is a full-featured, modern task and project management system that balances frontend reactivity, backend security, and scalable architecture. It showcases: - -Advanced state management with Zustand - -JWT authentication - -MongoDB + GridFS file handling - -Group/project collaboration features - -Responsive, accessible UI - -It demonstrates full-stack proficiency, attention to UX, and scalable software design principles. \ No newline at end of file +Readiness for future enhancements like real-time collaboration. From 06a46a1597392bef7733bd0e5f43c5b7b808bb38 Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Thu, 16 Oct 2025 15:37:31 +0200 Subject: [PATCH 11/22] Removed console logs for security --- README.md | 45 ++++++++++++++++++++++------ backend/routes/auth.js | 4 +-- backend/routes/taskroutes.js | 18 +++++------ backend/server.js | 10 +------ frontend/src/store/useGroupStore.jsx | 14 ++++----- 5 files changed, 54 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index a4f6446d2f..bb6f95f2c4 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,45 @@ # Final Project -Replace this readme with your own information about your project. -Start by briefly describing the assignment in a sentence or two. Keep it short and to the point. +Task Management App -## The problem +Another fullstack react app. Now i feel i have a solid grasp on what is needed for a small scale app. +Would be interesting to work on something for a longer period. +I did try cutting corners using gridmight not hve been the best option but i thought it would save me time. -Describe how you approached to problem, and what tools and techniques you used to solve it. How did you plan? What technologies did you use? If you had more time, what would be next? +it did not. This is the last time i try to cut corners when coding lesson is learned. -## View it live +Tech Stack -Every project should be deployed somewhere. Be sure to include the link to the deployed project so that the viewer can click around and see what it's all about. +Frontend -Task Management +React (with Vite for fast bundling) + +Zustand (state management with persistence) + +Material-UI (responsive, accessible UI components) + +Axios (API communication) + +Backend + +Node.js + Express (RESTful API) + +MongoDB (data storage) + +GridFS (file storage) + +Multer (file uploads) + +Authentication + +JWT (JSON Web Tokens for secure access) + +Deployment + +Netlify (frontend hosting) + +Render (backend hosting) Tasks are the core unit of this app and have full CRUD support. @@ -124,9 +151,9 @@ User Experience: Modals, snackbars, and responsive layout provide polished UX, w Future-Ready: Architecture allows easy integration of real-time updates via WebSockets or additional collaborative features. -Conclusion +Summary of my project -This project is a full-featured, modern task and project management system that balances frontend reactivity, backend security, and scalable architecture. It showcases: +The project is a full-featured, modern task and project management system that balances frontend reactivity, backend security, and scalable architecture. It showcases: Advanced state management with Zustand diff --git a/backend/routes/auth.js b/backend/routes/auth.js index 9ec578d26a..0950184dba 100644 --- a/backend/routes/auth.js +++ b/backend/routes/auth.js @@ -62,13 +62,13 @@ router.post("/login", async (req, res) => { // Find user by username o const user = await User.findOne({ username }).populate("group"); -console.log("[/auth/login] Fetched user:", user); + if (!user) return res.status(401).json({ error: "User not found" }); // Compare password const isMatch = await bcrypt.compare(password, user.passwordHash); -console.log("[/auth/login] Password match:", isMatch); + if (!isMatch) return res.status(401).json({ error: "Invalid password" }); diff --git a/backend/routes/taskroutes.js b/backend/routes/taskroutes.js index 2f05b4385f..d5390bcbeb 100644 --- a/backend/routes/taskroutes.js +++ b/backend/routes/taskroutes.js @@ -8,7 +8,7 @@ import { authMiddleware } from "../middleware/authmiddleware.js"; const router = express.Router(); // ------------------ MONGODB GRIDFS SETUP ------------------ -const mongoURI = process.env.MONGO_URI || "mongodb://localhost:27017/taskmanager"; +const mongoURI = process.env.MONGO_URI; const conn = mongoose.createConnection(mongoURI, {}); let gfs; @@ -80,7 +80,7 @@ router.get("/files/:filename", async (req, res) => { else res.destroy(err); }); } catch (err) { - console.error("❌ Error serving file:", err); + res.status(500).json({ error: err.message }); } }); @@ -107,7 +107,7 @@ router.post("/", authMiddleware, upload.array("files", 5), async (req, res) => { res.status(201).json(task); } catch (err) { - console.error("❌ Error creating task:", err); + res.status(400).json({ error: err.message }); } }); @@ -118,8 +118,6 @@ router.post("/", authMiddleware, upload.array("files", 5), async (req, res) => { router.post("/:taskId/files", authMiddleware, upload.single("file"), async (req, res) => { try { - console.log("[File GET] Filename:", req.params.filename); - console.log("[File GET] req.user:", req.user); const task = await Task.findById(req.params.taskId); if (!task) return res.status(404).json({ error: "Task not found" }); @@ -129,7 +127,7 @@ router.post("/:taskId/files", authMiddleware, upload.single("file"), async (req, res.json({ message: "File uploaded", task }); } catch (err) { - console.error("❌ Error uploading file:", err); + res.status(500).json({ error: err.message }); } }); @@ -143,7 +141,7 @@ router.get("/", authMiddleware, async (req, res) => { res.json(tasks); } catch (err) { - console.error("❌ Error fetching tasks:", err); + res.status(500).json({ error: err.message }); } }); @@ -156,7 +154,7 @@ router.get("/:id", authMiddleware, async (req, res) => { res.json(task); } catch (err) { - console.error("❌ Error fetching task:", err); + res.status(500).json({ error: err.message }); } }); @@ -177,7 +175,7 @@ router.put("/:id", authMiddleware, upload.array("files", 5), async (req, res) => res.json(task); } catch (err) { - console.error("❌ Error updating task:", err); + res.status(400).json({ error: err.message }); } }); @@ -190,7 +188,7 @@ router.delete("/:id", authMiddleware, async (req, res) => { res.json({ message: "Task deleted" }); } catch (err) { - console.error("❌ Error deleting task:", err); + res.status(500).json({ error: err.message }); } }); diff --git a/backend/server.js b/backend/server.js index 6f11cf2c06..7ed87a9f82 100644 --- a/backend/server.js +++ b/backend/server.js @@ -39,15 +39,7 @@ app.use(express.json()); app.use(express.urlencoded({ extended: true })); // --- Request Logger --- -app.use((req, res, next) => { - console.log("\n[REQ] ---------------------------"); - console.log("Method:", req.method); - console.log("URL:", req.url); - console.log("Headers:", req.headers); - console.log("Body:", req.body); - console.log("Query:", req.query); - next(); -}); + // --- Auth Logger --- app.use("/tasks", authMiddleware, (req, res, next) => { diff --git a/frontend/src/store/useGroupStore.jsx b/frontend/src/store/useGroupStore.jsx index ac1625716d..b065093626 100644 --- a/frontend/src/store/useGroupStore.jsx +++ b/frontend/src/store/useGroupStore.jsx @@ -18,7 +18,7 @@ export const useGroupStore = create((set, get) => ({ headers: getAuthHeaders(), withCredentials: true, // keep this if your backend also sets cookies }); - console.log("Fetched groups response:", data); + set({ groups: Array.isArray(data) ? data : [] }); } catch (err) { console.error("Failed to fetch groups:", err.response?.data || err); @@ -37,7 +37,7 @@ export const useGroupStore = create((set, get) => ({ ); set((state) => ({ groups: [...state.groups, data || { name, members: [] }] })); } catch (err) { - console.error("Failed to create group:", err.response?.data || err); + throw err; } }, @@ -50,7 +50,7 @@ export const useGroupStore = create((set, get) => ({ }); await get().fetchGroups(); } catch (err) { - console.error("Failed to join group:", err.response?.data || err); + throw err; } }, @@ -63,7 +63,7 @@ export const useGroupStore = create((set, get) => ({ }); await get().fetchGroups(); } catch (err) { - console.error("Failed to leave group:", err.response?.data || err); + throw err; } }, @@ -89,7 +89,7 @@ export const useGroupStore = create((set, get) => ({ }); await get().fetchGroups(); } catch (err) { - console.error("Failed to set project:", err.response?.data || err); + throw err; } },setGroupProject: async (groupId, projectName) => { @@ -101,7 +101,7 @@ export const useGroupStore = create((set, get) => ({ ), })); } catch (err) { - console.error("Failed to set project:", err); + throw err; } }, @@ -114,7 +114,7 @@ removeProject: async (id) => { }); await get().fetchGroups(); } catch (err) { - console.error("Failed to remove project:", err.response?.data || err); + throw err; } }, From eeeb81b65708d7abc09100c24be50089b8986641 Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Wed, 3 Dec 2025 16:54:17 +0100 Subject: [PATCH 12/22] mobile-friendly GroupsManagement component with responsive layout --- frontend/src/groups-mngnt.jsx | 45 +++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx index 7d993657c5..acfd7896c2 100644 --- a/frontend/src/groups-mngnt.jsx +++ b/frontend/src/groups-mngnt.jsx @@ -125,7 +125,7 @@ useEffect(() => { - + Groups Management @@ -135,14 +135,15 @@ useEffect(() => { variant="outlined" value={search} onChange={(e) => setSearch(e.target.value)} - sx={{ - bgcolor: "white", - borderRadius: 1, - "& .MuiInputBase-input::placeholder": { - color: "black", - opacity: 1, - }, - }} + sx={{ + bgcolor: "white", + borderRadius: 1, + width: { xs: "100%", sm: "auto" }, // FULL WIDTH on mobile + "& .MuiInputBase-input::placeholder": { + color: "black", + opacity: 1, + }, + }} /> @@ -150,12 +151,21 @@ useEffect(() => { {/* Main Content */} {/* Create Group */} - + setNewGroup(e.target.value)} fullWidth + sx={{ + flex: "1 1 240px", // grow to fill, but able to shrink; min base 240px + minWidth: { xs: "100%", + maxWidth: "100%", sm: "240px" }, // mobile → full width if wrapped + }} /> From 29b3156473133849cec97637de736f1f19a470f4 Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Wed, 3 Dec 2025 17:06:55 +0100 Subject: [PATCH 13/22] mobile-friendly GroupsManagement component with responsive layoutx2 --- frontend/src/groups-mngnt.jsx | 160 ++++++++++++++++++++-------------- 1 file changed, 93 insertions(+), 67 deletions(-) diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx index acfd7896c2..17bda44f4c 100644 --- a/frontend/src/groups-mngnt.jsx +++ b/frontend/src/groups-mngnt.jsx @@ -30,9 +30,8 @@ import { useUserStore } from "./store/useUserStore"; import { useTaskStore } from "./store/useTaskStore"; const GroupsManagement = () => { - const { user, loadUserFromStorage } = useUserStore(); -const userId = user?.id; // not _id - + const { user, loadUserFromStorage } = useUserStore(); + const userId = user?.id; const { groups, fetchGroups, createGroup, deleteGroup, joinGroup, leaveGroup, setProject, removeProject } = useGroupStore(); @@ -46,11 +45,12 @@ const userId = user?.id; // not _id const [membersDialog, setMembersDialog] = useState({ open: false, members: [] }); const itemsPerPage = 5; -useEffect(() => { - loadUserFromStorage() - .then(() => fetchGroups()) - .catch(() => openSnackbar("Failed to load user data or groups", "error")); -}, [loadUserFromStorage, fetchGroups]); + + useEffect(() => { + loadUserFromStorage() + .then(() => fetchGroups()) + .catch(() => openSnackbar("Failed to load user data or groups", "error")); + }, [loadUserFromStorage, fetchGroups]); const filteredGroups = useMemo( () => groups.filter((g) => g.name.toLowerCase().includes(search.toLowerCase())), @@ -119,12 +119,8 @@ useEffect(() => { return ( - - - {/* Top Bar */} - + {/* Top Bar */} - Groups Management @@ -135,39 +131,41 @@ useEffect(() => { variant="outlined" value={search} onChange={(e) => setSearch(e.target.value)} - sx={{ - bgcolor: "white", - borderRadius: 1, - width: { xs: "100%", sm: "auto" }, // FULL WIDTH on mobile - "& .MuiInputBase-input::placeholder": { - color: "black", - opacity: 1, - }, - }} - /> + sx={{ + bgcolor: "white", + borderRadius: 1, + width: { xs: "100%", sm: "auto" }, + "& .MuiInputBase-input::placeholder": { color: "black", opacity: 1 }, + }} + /> {/* Main Content */} - + {/* Create Group */} - + setNewGroup(e.target.value)} fullWidth - sx={{ - flex: "1 1 240px", // grow to fill, but able to shrink; min base 240px - minWidth: { xs: "100%", - maxWidth: "100%", sm: "240px" }, // mobile → full width if wrapped - }} + sx={{ + flex: "1 1 240px", + minWidth: { xs: "100%", sm: 240 }, + }} /> - @@ -176,27 +174,44 @@ useEffect(() => { {filteredGroups .slice((page - 1) * itemsPerPage, page * itemsPerPage) - .map((group) => {const isMember = group.members?.some(member => member._id === userId); - - - console.log("Group:", group , group.name, "isMember:", isMember, "members:", group.members, "userId:", userId); - - - + .map((group) => { + const isMember = group.members?.some((m) => m._id === userId); const currentProjectName = group.currentProject || "None"; return ( - - - handleDelete(group._id)}> + handleDelete(group._id)} + sx={{ width: { xs: "100%", sm: "auto" } }} + > @@ -205,27 +220,36 @@ useEffect(() => { - Members: {group.members?.length || 0} - - - Project: {currentProjectName} + + + Members: {group.members?.length || 0} + + + {/* Project Controls */} + + + Project: {currentProjectName} + - setProjectInputs((prev) => ({ ...prev, [group._id]: e.target.value })) + setProjectInputs((prev) => ({ + ...prev, + [group._id]: e.target.value, + })) } - sx={{ - flex: "1 1 140px", maxWidth: "100%", - minWidth: { xs: "100%", sm: 140 }, - }} + sx={{ + flex: { xs: "1 1 100%", sm: "1 1 140px" }, + minWidth: { xs: "100%", sm: 140 }, + }} > -- Select Project -- {projects.map((p) => ( @@ -235,20 +259,22 @@ useEffect(() => { ))} - - {/* Finish Project button */} From bf13a3351d48c0cd7923b985b3ff25156443a6c0 Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Wed, 3 Dec 2025 17:13:24 +0100 Subject: [PATCH 14/22] mobile-friendly GroupsManagement component with responsive layoutx2 --- frontend/src/groups-mngnt.jsx | 60 ++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 25 deletions(-) diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx index 17bda44f4c..c4e7e4924e 100644 --- a/frontend/src/groups-mngnt.jsx +++ b/frontend/src/groups-mngnt.jsx @@ -182,31 +182,41 @@ const GroupsManagement = () => { - - + + + + + + + handleDelete(group._id)} From 2e26d264c127d15a86adbe6d599a92c876ac8f8a Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Wed, 3 Dec 2025 17:20:29 +0100 Subject: [PATCH 15/22] mobile-friendly GroupsManagement component with responsive layoutx3 --- frontend/src/groups-mngnt.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx index c4e7e4924e..b6b8ec5cbc 100644 --- a/frontend/src/groups-mngnt.jsx +++ b/frontend/src/groups-mngnt.jsx @@ -196,7 +196,7 @@ const GroupsManagement = () => { size="small" sx={{ width: { xs: "100%", sm: "auto" }, - mt: { xs: 0, sm: "-15px" }, // move 15px up on larger screens + mt: { xs: 0, sm: "-30px" }, // move 15px up on larger screens }} > {isMember ? "Leave" : "Join"} @@ -209,7 +209,7 @@ const GroupsManagement = () => { onClick={() => openMembersDialog(group.members)} sx={{ width: { xs: "100%", sm: "auto" }, - mt: { xs: 0, sm: "-15px" }, // move 15px up on larger screens + mt: { xs: 0, sm: "-30px" }, // move 15px up on larger screens }} > Members From 7e046772f70ec1dd93054607aa742ad972c00684 Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Wed, 3 Dec 2025 17:26:00 +0100 Subject: [PATCH 16/22] mobile-friendly GroupsManagement component with responsive layoutx4 flexDirection changes based on xs / sm for both action buttons and project controls --- frontend/src/groups-mngnt.jsx | 229 ++++++++++++++++------------------ 1 file changed, 110 insertions(+), 119 deletions(-) diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx index b6b8ec5cbc..8a56e2e218 100644 --- a/frontend/src/groups-mngnt.jsx +++ b/frontend/src/groups-mngnt.jsx @@ -171,133 +171,124 @@ const GroupsManagement = () => { {/* Group List */} - - {filteredGroups - .slice((page - 1) * itemsPerPage, page * itemsPerPage) - .map((group) => { - const isMember = group.members?.some((m) => m._id === userId); - const currentProjectName = group.currentProject || "None"; + + {filteredGroups + .slice((page - 1) * itemsPerPage, page * itemsPerPage) + .map((group) => { + const isMember = group.members?.some((m) => m._id === userId); + const currentProjectName = group.currentProject || "None"; - return ( - - - + return ( + + + + + Members: {group.members?.length || 0} + - + {/* Project Controls */} + + + Project: {currentProjectName} + + + setProjectInputs((prev) => ({ + ...prev, + [group._id]: e.target.value, + })) + } + sx={{ + flex: { xs: "1 1 100%", sm: "1 1 140px" }, + minWidth: { xs: "100%", sm: 140 }, + }} + > + -- Select Project -- + {projects.map((p) => ( + + {p.name} + + ))} + + - handleDelete(group._id)} - sx={{ width: { xs: "100%", sm: "auto" } }} - > - - - - } - > - - - Members: {group.members?.length || 0} - + + + + } + /> - {/* Project Controls */} - - - Project: {currentProjectName} - + {/* Action Buttons */} + + - - setProjectInputs((prev) => ({ - ...prev, - [group._id]: e.target.value, - })) - } - sx={{ - flex: { xs: "1 1 100%", sm: "1 1 140px" }, - minWidth: { xs: "100%", sm: 140 }, - }} - > - -- Select Project -- - {projects.map((p) => ( - - {p.name} - - ))} - + - - - - - - } - /> - - - - ); - })} - + handleDelete(group._id)} + sx={{ width: { xs: "100%", sm: "auto" } }} + > + + + + + + + ); + })} + {/* Pagination */} Date: Wed, 3 Dec 2025 17:44:05 +0100 Subject: [PATCH 17/22] header fix --- frontend/src/groups-mngnt.jsx | 338 ++++++++++++++++++---------------- 1 file changed, 184 insertions(+), 154 deletions(-) diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx index 8a56e2e218..123ddb18f5 100644 --- a/frontend/src/groups-mngnt.jsx +++ b/frontend/src/groups-mngnt.jsx @@ -33,15 +33,27 @@ const GroupsManagement = () => { const { user, loadUserFromStorage } = useUserStore(); const userId = user?.id; - const { groups, fetchGroups, createGroup, deleteGroup, joinGroup, leaveGroup, setProject, removeProject } = - useGroupStore(); + const { + groups, + fetchGroups, + createGroup, + deleteGroup, + joinGroup, + leaveGroup, + setProject, + removeProject, + } = useGroupStore(); const { projects } = useTaskStore(); const [newGroup, setNewGroup] = useState(""); const [search, setSearch] = useState(""); const [projectInputs, setProjectInputs] = useState({}); const [page, setPage] = useState(1); - const [snackbar, setSnackbar] = useState({ open: false, message: "", severity: "success" }); + const [snackbar, setSnackbar] = useState({ + open: false, + message: "", + severity: "success", + }); const [membersDialog, setMembersDialog] = useState({ open: false, members: [] }); const itemsPerPage = 5; @@ -53,7 +65,10 @@ const GroupsManagement = () => { }, [loadUserFromStorage, fetchGroups]); const filteredGroups = useMemo( - () => groups.filter((g) => g.name.toLowerCase().includes(search.toLowerCase())), + () => + groups.filter((g) => + g.name.toLowerCase().includes(search.toLowerCase()) + ), [groups, search] ); @@ -118,11 +133,24 @@ const GroupsManagement = () => { const closeMembersDialog = () => setMembersDialog({ open: false, members: [] }); return ( - + {/* Top Bar */} - - - + + + Groups Management { sx={{ bgcolor: "white", borderRadius: 1, - width: { xs: "100%", sm: "auto" }, + width: { xs: "100%", sm: "250px" }, "& .MuiInputBase-input::placeholder": { color: "black", opacity: 1 }, }} /> @@ -142,162 +170,164 @@ const GroupsManagement = () => { {/* Main Content */} - - {/* Create Group */} - - setNewGroup(e.target.value)} - fullWidth - sx={{ - flex: "1 1 240px", - minWidth: { xs: "100%", sm: 240 }, - }} - /> - - + setNewGroup(e.target.value)} + fullWidth + sx={{ + flex: "1 1 240px", + minWidth: { xs: "100%", sm: 240 }, + }} + /> + + - {/* Group List */} - - {filteredGroups - .slice((page - 1) * itemsPerPage, page * itemsPerPage) - .map((group) => { - const isMember = group.members?.some((m) => m._id === userId); - const currentProjectName = group.currentProject || "None"; + {/* Group List */} + + {filteredGroups + .slice((page - 1) * itemsPerPage, page * itemsPerPage) + .map((group) => { + const isMember = group.members?.some((m) => m._id === userId); + const currentProjectName = group.currentProject || "None"; - return ( - - - - - Members: {group.members?.length || 0} - + return ( + + + + + Members: {group.members?.length || 0} + - {/* Project Controls */} - - - Project: {currentProjectName} - + {/* Project Controls */} + + + Project: {currentProjectName} + - - setProjectInputs((prev) => ({ - ...prev, - [group._id]: e.target.value, - })) - } - sx={{ - flex: { xs: "1 1 100%", sm: "1 1 140px" }, - minWidth: { xs: "100%", sm: 140 }, - }} - > - -- Select Project -- - {projects.map((p) => ( - - {p.name} - - ))} - + + setProjectInputs((prev) => ({ + ...prev, + [group._id]: e.target.value, + })) + } + sx={{ + flex: { xs: "1 1 100%", sm: "1 1 140px" }, + minWidth: { xs: "100%", sm: 140 }, + }} + > + -- Select Project -- + {projects.map((p) => ( + + {p.name} + + ))} + - + - - - - } - /> + + + + } + /> - {/* Action Buttons */} - - + {/* Action Buttons */} + + - + - handleDelete(group._id)} - sx={{ width: { xs: "100%", sm: "auto" } }} - > - - - - - - - ); - })} - + handleDelete(group._id)} + sx={{ width: { xs: "100%", sm: "auto" } }} + > + + + + + + + ); + })} + - {/* Pagination */} - setPage(val)} - sx={{ mt: 2 }} - /> - + {/* Pagination */} + setPage(val)} + sx={{ mt: 2 }} + /> + + {/* Snackbar */} Date: Wed, 3 Dec 2025 18:02:51 +0100 Subject: [PATCH 18/22] header fix --- frontend/src/groups-mngnt.jsx | 400 +++++++++++++++++----------------- 1 file changed, 194 insertions(+), 206 deletions(-) diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx index 123ddb18f5..76c5673738 100644 --- a/frontend/src/groups-mngnt.jsx +++ b/frontend/src/groups-mngnt.jsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState, useMemo } from "react"; + import React, { useEffect, useState, useMemo } from "react"; import { AppBar, Toolbar, @@ -33,27 +33,15 @@ const GroupsManagement = () => { const { user, loadUserFromStorage } = useUserStore(); const userId = user?.id; - const { - groups, - fetchGroups, - createGroup, - deleteGroup, - joinGroup, - leaveGroup, - setProject, - removeProject, - } = useGroupStore(); + const { groups, fetchGroups, createGroup, deleteGroup, joinGroup, leaveGroup, setProject, removeProject } = + useGroupStore(); const { projects } = useTaskStore(); const [newGroup, setNewGroup] = useState(""); const [search, setSearch] = useState(""); const [projectInputs, setProjectInputs] = useState({}); const [page, setPage] = useState(1); - const [snackbar, setSnackbar] = useState({ - open: false, - message: "", - severity: "success", - }); + const [snackbar, setSnackbar] = useState({ open: false, message: "", severity: "success" }); const [membersDialog, setMembersDialog] = useState({ open: false, members: [] }); const itemsPerPage = 5; @@ -65,10 +53,7 @@ const GroupsManagement = () => { }, [loadUserFromStorage, fetchGroups]); const filteredGroups = useMemo( - () => - groups.filter((g) => - g.name.toLowerCase().includes(search.toLowerCase()) - ), + () => groups.filter((g) => g.name.toLowerCase().includes(search.toLowerCase())), [groups, search] ); @@ -133,201 +118,204 @@ const GroupsManagement = () => { const closeMembersDialog = () => setMembersDialog({ open: false, members: [] }); return ( - - {/* Top Bar */} - - - - Groups Management - + + {/* Top Bar */} + + + + Groups Management + + setSearch(e.target.value)} + sx={{ + bgcolor: "white", + borderRadius: 1, + width: { xs: "100%", sm: "250px" }, // full width on small screens + "& .MuiInputBase-input::placeholder": { color: "black", opacity: 1 }, + }} + /> + + + + {/* Spacer to prevent overlap */} + + + {/* Main Content */} + + + + {/* Create Group */} + setSearch(e.target.value)} + label="New Group Name" + value={newGroup} + onChange={(e) => setNewGroup(e.target.value)} + fullWidth sx={{ - bgcolor: "white", - borderRadius: 1, - width: { xs: "100%", sm: "250px" }, - "& .MuiInputBase-input::placeholder": { color: "black", opacity: 1 }, + flex: "1 1 240px", + minWidth: { xs: "100%", sm: 240 }, }} /> - - - - {/* Main Content */} - - - {/* Create Group */} - } + onClick={handleCreate} > - setNewGroup(e.target.value)} - fullWidth - sx={{ - flex: "1 1 240px", - minWidth: { xs: "100%", sm: 240 }, - }} + Create + + + + {/* Group List */} + + {filteredGroups + .slice((page - 1) * itemsPerPage, page * itemsPerPage) + .map((group) => { + const isMember = group.members?.some((m) => m._id === userId); + const currentProjectName = group.currentProject || "None"; + + return ( + + + + + Members: {group.members?.length || 0} + + + {/* Project Controls */} + + + Project: {currentProjectName} + + + + setProjectInputs((prev) => ({ + ...prev, + [group._id]: e.target.value, + })) + } + sx={{ + flex: { xs: "1 1 100%", sm: "1 1 140px" }, + minWidth: { xs: "100%", sm: 140 }, + }} + > + -- Select Project -- + {projects.map((p) => ( + + {p.name} + + ))} + + + + + + + + } /> - - + - {/* Group List */} - - {filteredGroups - .slice((page - 1) * itemsPerPage, page * itemsPerPage) - .map((group) => { - const isMember = group.members?.some((m) => m._id === userId); - const currentProjectName = group.currentProject || "None"; - - return ( - - - - - Members: {group.members?.length || 0} - - - {/* Project Controls */} - - - Project: {currentProjectName} - - - - setProjectInputs((prev) => ({ - ...prev, - [group._id]: e.target.value, - })) - } - sx={{ - flex: { xs: "1 1 100%", sm: "1 1 140px" }, - minWidth: { xs: "100%", sm: 140 }, - }} - > - -- Select Project -- - {projects.map((p) => ( - - {p.name} - - ))} - - - - - - - - } - /> - - {/* Action Buttons */} - - - - - - handleDelete(group._id)} - sx={{ width: { xs: "100%", sm: "auto" } }} - > - - - - - - - ); - })} - + - {/* Pagination */} - setPage(val)} - sx={{ mt: 2 }} - /> - - + handleDelete(group._id)} + sx={{ width: { xs: "100%", sm: "auto" } }} + > + + + + + + + ); + })} + + + {/* Pagination */} + setPage(val)} + sx={{ mt: 2 }} + /> + {/* Snackbar */} Date: Wed, 3 Dec 2025 18:06:53 +0100 Subject: [PATCH 19/22] restore --- frontend/src/groups-mngnt.jsx | 78 ++++++++++++++--------------------- 1 file changed, 30 insertions(+), 48 deletions(-) diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx index 76c5673738..16cea36df4 100644 --- a/frontend/src/groups-mngnt.jsx +++ b/frontend/src/groups-mngnt.jsx @@ -118,56 +118,38 @@ const GroupsManagement = () => { const closeMembersDialog = () => setMembersDialog({ open: false, members: [] }); return ( - - {/* Top Bar */} - - - - Groups Management - - setSearch(e.target.value)} - sx={{ - bgcolor: "white", - borderRadius: 1, - width: { xs: "100%", sm: "250px" }, // full width on small screens - "& .MuiInputBase-input::placeholder": { color: "black", opacity: 1 }, - }} - /> - - - - {/* Spacer to prevent overlap */} - - - {/* Main Content */} - + + {/* Top Bar */} + + + + Groups Management + + setSearch(e.target.value)} + sx={{ + bgcolor: "white", + borderRadius: 1, + width: { xs: "100%", sm: "auto" }, + "& .MuiInputBase-input::placeholder": { color: "black", opacity: 1 }, + }} + /> + + - + {/* Main Content */} + {/* Create Group */} - + Date: Wed, 3 Dec 2025 18:08:28 +0100 Subject: [PATCH 20/22] sticky appbar --- frontend/src/groups-mngnt.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx index 16cea36df4..6b812a0008 100644 --- a/frontend/src/groups-mngnt.jsx +++ b/frontend/src/groups-mngnt.jsx @@ -120,7 +120,8 @@ const GroupsManagement = () => { return ( {/* Top Bar */} - + + Groups Management From c4db92fe2e3505bdfc27c1108d271a8c0d360e0e Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Wed, 3 Dec 2025 18:20:06 +0100 Subject: [PATCH 21/22] overflow fixed --- frontend/src/groups-mngnt.jsx | 46 +++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx index 6b812a0008..02bb4eb338 100644 --- a/frontend/src/groups-mngnt.jsx +++ b/frontend/src/groups-mngnt.jsx @@ -122,24 +122,34 @@ const GroupsManagement = () => { {/* Top Bar */} - - - Groups Management - - setSearch(e.target.value)} - sx={{ - bgcolor: "white", - borderRadius: 1, - width: { xs: "100%", sm: "auto" }, - "& .MuiInputBase-input::placeholder": { color: "black", opacity: 1 }, - }} - /> - + + + Groups Management + + + setSearch(e.target.value)} + sx={{ + bgcolor: "white", + borderRadius: 1, + flexShrink: 1, + width: { xs: "100%", sm: "auto" }, + "& .MuiInputBase-input::placeholder": { color: "black", opacity: 1 }, + }} + /> + + {/* Main Content */} From 10019c545cdb1be4328e3d3a394dbd14a549a58a Mon Sep 17 00:00:00 2001 From: phenomenalCode Date: Wed, 3 Dec 2025 18:22:35 +0100 Subject: [PATCH 22/22] back to static --- frontend/src/groups-mngnt.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/groups-mngnt.jsx b/frontend/src/groups-mngnt.jsx index 02bb4eb338..e46615136c 100644 --- a/frontend/src/groups-mngnt.jsx +++ b/frontend/src/groups-mngnt.jsx @@ -120,7 +120,7 @@ const GroupsManagement = () => { return ( {/* Top Bar */} - +

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 z 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 literal 0 HcmV?d00001 diff --git a/frontend/public/photos/stars-night-galaxy-4k-3840x2160.webp b/frontend/public/photos/stars-night-galaxy-4k-3840x2160.webp new file mode 100644 index 0000000000000000000000000000000000000000..6c1b3f8adbc857900b0d5aee0a2aeded344da55e GIT binary patch literal 315236 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