Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Student - ACT - Tree Monitoring System

A comprehensive web application for managing and monitoring tree planting initiatives in educational institutions. This system enables students to select, monitor, and track the growth of trees while providing administrators with powerful management and reporting tools.

🌟 Features

For Students

  • Tree Selection: Browse and select from available trees
  • Progress Tracking: Upload photos and track tree growth over time
  • Care Instructions: Get species-specific care guidelines
  • Achievement System: Track care scores and milestones

For Staff

  • Class Management: Manage students in assigned classes
  • Tree Assignment: Help students select appropriate trees
  • Progress Monitoring: Track student engagement and tree health

For HODs (Head of Departments)

  • Department Overview: View department-wide statistics
  • Student Management: Manage students within the department
  • Tree Monitoring: Monitor all trees assigned to department students
  • Reports: Generate department-specific reports

For Principals

  • College-wide Dashboard: Complete overview of the institution
  • Multi-department Management: Manage all departments and staff
  • Comprehensive Reports: Institution-wide analytics and insights
  • Staff Management: Manage HODs and staff members

For System Administrators

  • Multi-college Management: Manage multiple educational institutions
  • User Management: Create and manage all user types
  • System Reports: Comprehensive analytics across all colleges
  • Data Export: Export reports and data for analysis

πŸš€ Technology Stack

Frontend

  • React 18 with TypeScript
  • Vite for fast development and building
  • Tailwind CSS for modern, responsive styling
  • Lucide React for beautiful icons
  • Axios for API communication

Backend

  • Node.js with Express.js
  • PostgreSQL database
  • JWT authentication
  • Multer for file uploads
  • bcrypt for password hashing

πŸ“‹ Prerequisites

  • Node.js (v16 or higher)
  • PostgreSQL (v12 or higher)
  • npm or yarn package manager

πŸ› οΈ Installation

1. Clone the Repository

git clone <repository-url>
cd one-student-one-tree

2. Backend Setup

cd one_student_one-_treeAPI
npm install

# Create .env file
cp .env.example .env

# Configure your database connection in .env
# DB_HOST=localhost
# DB_PORT=5432
# DB_NAME=tree_monitoring
# DB_USER=your_username
# DB_PASSWORD=your_password
# JWT_SECRET=your_jwt_secret

# Run database migrations
npm run migrate

# Start the backend server
npm run dev

3. Frontend Setup

cd ../one_student_one-_treeUI
npm install

# Start the frontend development server
npm run dev

4. Database Population (Optional)

cd ../one_student_one-_treeAPI

# Populate with sample data
node comprehensive-populate.js

πŸ”‘ Demo Credentials

After running the population script, you can use these demo credentials:

System Administrator

Principal (R.M.K Engineering College)

Principal (Sri Sairam Engineering College)

HOD (Computer Science)

Staff Member

Student

πŸ“± Usage

Getting Started

  1. Access the application at http://localhost:5174
  2. Log in using one of the demo credentials
  3. Explore the features based on your role

For Students

  1. Navigate to "Tree Selection" to choose a tree
  2. Use "My Tree Progress" to upload photos and track growth
  3. Check "Guidelines" for care instructions

For Administrators

  1. Use the "Dashboard" for overview statistics
  2. Manage users through "Users" section
  3. View comprehensive analytics in "Reports"
  4. Handle approvals in "Invitations" and "Requests"

πŸ—οΈ Project Structure

one-student-one-tree/
β”œβ”€β”€ one_student_one-_treeAPI/          # Backend API
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ controllers/               # Route controllers
β”‚   β”‚   β”œβ”€β”€ models/                    # Database models
β”‚   β”‚   β”œβ”€β”€ routes/                    # API routes
β”‚   β”‚   β”œβ”€β”€ middleware/                # Custom middleware
β”‚   β”‚   └── utils/                     # Utility functions
β”‚   β”œβ”€β”€ migrations/                    # Database migrations
β”‚   └── package.json
β”œβ”€β”€ one_student_one-_treeUI/           # Frontend React app
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/                # React components
β”‚   β”‚   β”‚   β”œβ”€β”€ Auth/                  # Authentication components
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard/             # Dashboard components
β”‚   β”‚   β”‚   β”œβ”€β”€ Management/            # Management components
β”‚   β”‚   β”‚   β”œβ”€β”€ TreeSelection/         # Tree selection components
β”‚   β”‚   β”‚   β”œβ”€β”€ TreeProgress/          # Progress tracking
β”‚   β”‚   β”‚   β”œβ”€β”€ Reports/               # Reporting components
β”‚   β”‚   β”‚   β”œβ”€β”€ Settings/              # Settings components
β”‚   β”‚   β”‚   β”œβ”€β”€ UI/                    # Reusable UI components
β”‚   β”‚   β”‚   └── Layout/                # Layout components
β”‚   β”‚   β”œβ”€β”€ hooks/                     # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ services/                  # API services
β”‚   β”‚   β”œβ”€β”€ types/                     # TypeScript type definitions
β”‚   β”‚   └── utils/                     # Utility functions
β”‚   └── package.json
└── README.md

πŸ”§ Configuration

Environment Variables

Backend (.env)

# Database Configuration
DB_HOST=localhost
DB_PORT=5432
DB_NAME=tree_monitoring
DB_USER=your_username
DB_PASSWORD=your_password

# JWT Configuration
JWT_SECRET=your_super_secret_jwt_key
JWT_EXPIRES_IN=7d

# Server Configuration
PORT=3000
NODE_ENV=development

# File Upload Configuration
UPLOAD_PATH=./uploads
MAX_FILE_SIZE=5242880

Frontend (.env)

# API Configuration
VITE_API_BASE_URL=http://localhost:3000/api/v1
VITE_API_HOST=http://localhost:3000

# App Configuration (optional)
VITE_APP_NAME=Student - ACT
VITE_APP_VERSION=1.0.0

The frontend uses environment variables to configure API endpoints. Copy .env.example to .env and modify as needed.

πŸ“Š Database Schema

The system uses PostgreSQL with the following main entities:

  • Users (students, staff, HODs, principals, admins)
  • Colleges (educational institutions)
  • Departments (within colleges)
  • Trees (tree records with species, location, etc.)
  • Tree Images (progress photos)
  • Invitations (for user registration)
  • Registration Requests (pending user registrations)

πŸš€ Deployment

Production Build

Frontend

cd one_student_one-_treeUI
npm run build

Backend

cd one_student_one-_treeAPI
npm run build
npm start

Docker Deployment (Optional)

Docker configuration files can be added for containerized deployment.

🀝 Contributing

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

πŸ“ License

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

πŸ†˜ Support

For support and questions:

  • Create an issue in the GitHub repository
  • Contact the development team
  • Check the documentation in the /docs folder

πŸ™ Acknowledgments

  • R.M.K Engineering College for the project inspiration
  • All contributors and testers
  • Open source libraries and frameworks used

Built with ❀️ for environmental sustainability and education "# work-flow-lms-ui"

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages