Skip to content

KavinRajNV/Statix-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌌 Statix

Academic Task Tracking & Compliance Platform

Statix is a centralized academic task management and monitoring system designed for colleges to streamline communication between administrators, faculty members, and students.

Built using the MERN Stack (MongoDB, Express.js, React.js, Node.js), Statix enables structured academic workflows where tasks can be assigned, tracked, verified, and monitored across departments.

The platform improves transparency, accountability, and academic coordination within institutions.


🎯 Problem Statement

In many colleges, academic tasks and responsibilities are communicated through informal channels such as:

  • WhatsApp groups
  • Emails
  • Paper notices
  • Verbal communication

These approaches often result in:

  • ❌ No centralized task tracking
  • ❌ Missed deadlines by students
  • ❌ Lack of proof for completed work
  • ❌ Difficulty monitoring student progress
  • ❌ Poor accountability for assigned tasks

Faculty members often struggle to determine:

  • Which students completed tasks
  • Which students missed deadlines
  • Whether submitted work is valid

πŸ’‘ Solution

Statix provides a structured digital platform where:

  • Faculty assign academic tasks
  • Students receive and complete tasks
  • Proof of completion can be uploaded
  • Staff can monitor student progress
  • Higher authorities can track academic compliance

The system ensures organized academic task management with clear visibility across roles.


πŸ›οΈ Academic Hierarchy

Statix follows a structured institutional hierarchy that reflects how academic supervision typically works in colleges.

Admin
   β”‚
   β–Ό
HOD (Head of Department)
   β”‚
   β–Ό
Year Coordinator
   β”‚
   β–Ό
Counsellor
   β”‚
   β–Ό
Staff / Faculty
   β”‚
   β–Ό
Students

πŸ‘‘ Admin

System-level control and monitoring.

Responsibilities:

  • Manage staff and student accounts
  • Create academic years
  • Monitor system statistics
  • Access activity logs
  • Manage permissions

πŸŽ“ HOD (Head of Department)

Department-level authority.

Responsibilities:

  • Monitor department academic activity
  • Create students and staff
  • Bulk upload student/staff data
  • Track department progress
  • View system logs

πŸ“Š Year Coordinator

Responsible for managing students within a specific academic year.

Responsibilities:

  • Monitor student task completion
  • Track year-wise progress
  • Coordinate between staff and students
  • Ensure academic compliance

πŸ‘¨β€πŸ« Counsellor / Staff

Faculty members responsible for interacting directly with students.

Responsibilities:

  • Create and assign tasks
  • Monitor student submissions
  • View completion statistics
  • Send reminders to students
  • Evaluate submitted proofs

πŸ§‘β€πŸŽ“ Students

Students are the end users who complete assigned tasks.

Responsibilities:

  • View assigned tasks
  • Upload proof of completion
  • Track their academic progress
  • Receive reminders for pending work

πŸš€ Core Features

πŸ“Œ Task Assignment

Faculty members can create academic tasks and assign them to specific students or groups.

πŸ“Ž Proof-Based Submissions

Students must submit proof of completion such as:

  • PNG images
  • JPG images
  • PDF documents

⏰ Deadline Management

Tasks include deadlines, and faculty can extend deadlines if required.

πŸ”” Reminder System

Staff can send reminders to students who have not completed assigned tasks.

πŸ“Š Progress Monitoring

Faculty and higher authorities can view:

  • Completed tasks
  • Pending tasks
  • Submission statistics

πŸ“ Cloud File Storage

All uploaded files are stored securely using Cloudinary, while the database stores only file URLs.

πŸ” Secure Authentication

JWT-based authentication ensures secure access to the platform.

πŸ“Š Bulk Student & Staff Upload

Admins can upload large datasets using Excel templates.


🧱 Technology Stack

Frontend

  • React.js
  • Tailwind CSS
  • Framer Motion
  • React Toastify

Backend

  • Node.js
  • Express.js

Database

  • MongoDB Atlas

File Storage

  • Cloudinary

Authentication

  • JWT (JSON Web Tokens)

πŸ–₯️ System Architecture

Frontend (React + Tailwind)
        β”‚
        β–Ό
Backend (Node.js + Express)
        β”‚
        β–Ό
MongoDB Atlas Database
        β”‚
        β–Ό
Cloudinary (File Storage)

πŸ“‚ Project Structure

Statix/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ controllers/     # Route controllers
β”‚   β”œβ”€β”€ models/          # MongoDB models
β”‚   β”œβ”€β”€ routes/          # Express routes
β”‚   β”œβ”€β”€ middlewares/     # Authentication middleware
β”‚   β”œβ”€β”€ utils/           # Utility services
β”‚   └── index.js         # Backend entry point
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/  # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/       # Application pages
β”‚   β”‚   β”œβ”€β”€ contexts/    # React context providers
β”‚   β”‚   └── assets/      # Images & icons
β”‚   └── public/
β”‚
└── README.md

πŸ“‹ Prerequisites

Before running the project, ensure you have:

  • Node.js (v14 or higher)
  • MongoDB Atlas account
  • Cloudinary account
  • npm or yarn

πŸ› οΈ Installation

Backend Setup

Navigate to backend directory

cd backend

Install dependencies

npm install

Create .env file

MONGODB_ATLAS_URL=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_app_password
PORT=5000
FRONTEND_URL=http://localhost:3000

Start backend server

npm run dev

Frontend Setup

Navigate to frontend directory

cd frontend

Install dependencies

npm install

Create .env

REACT_APP_API_URL=http://localhost:5000/api

Start development server

npm start

Application will run at:

http://localhost:3000

πŸ“Š API Overview

Authentication

POST /api/auth/login/student
POST /api/auth/login/staff
POST /api/auth/login/admin
POST /api/auth/forgot-password
POST /api/auth/reset-password
POST /api/auth/change-password

Admin

POST /api/admin/students
POST /api/admin/staff
POST /api/admin/students/bulk-upload
POST /api/admin/staff/bulk-upload
GET /api/admin/students
GET /api/admin/staff
GET /api/admin/stats
GET /api/admin/logs

Staff

GET /api/staff/profile
GET /api/staff/students/search
POST /api/staff/tasks
GET /api/staff/tasks
DELETE /api/staff/tasks/:taskId
POST /api/staff/tasks/:taskId/remind

Student

GET /api/student/profile
GET /api/student/tasks
POST /api/student/tasks/:assignmentId/complete
POST /api/student/tasks/:assignmentId/submit

πŸ“Š Bulk Upload

Excel templates are provided inside:

frontend/public/template/

Templates available:

  • students_template.xlsx
  • staff_template.xlsx

These templates allow administrators to upload large datasets quickly.


πŸ” Authentication System

Default Password

Students and staff initially log in using their Date of Birth:

DDMMYYYY

Users must change their password after first login.


Password Reset

Users can reset passwords using the Forgot Password feature.

A reset link is sent to the registered email and expires in 1 hour.


🚦 Getting Started

Start backend

cd backend
npm run dev

Start frontend

cd frontend
npm start

Access the application

http://localhost:3000

πŸ› Troubleshooting

MongoDB Connection Error

Verify the MongoDB connection string in .env.


Email Not Sending

Ensure Gmail App Password is correct.


CORS Issues

Ensure the frontend URL matches FRONTEND_URL in backend .env.


πŸ“œ License

This project is built for educational and academic purposes.


⭐ If you found this project useful, consider giving it a star.

About

Statix is a modern academic task management and tracking platform designed for colleges to streamline communication between staff and students. (end to end developed)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors