Skip to content

Eswaramuthu/Achievement-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

122 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ† Achievement Management System

A centralized platform for tracking and showcasing academic achievements. Students access their accomplishments instantly. Teachers record them effortlessly. Everyone gets clarity.

GitHub Python Flask License


🎯 The Problem

Academic achievements are scattered chaos:

  • πŸ“§ Certificates buried in email threads
  • πŸ“ Paper documents lost in folders
  • πŸ“Š Teachers drowning in spreadsheets
  • πŸŽ“ Students can't showcase accomplishments during placements

Result: Wasted time, missed opportunities, zero visibility into actual progress.


✨ The Solution

Achievement Management System brings everything into one organized dashboard:

  • πŸ“ Centralized tracking β€” All achievements in one place
  • πŸ“ˆ Visual analytics β€” Progress trends and insights at a glance
  • ⚑ Fast entry β€” Teachers add records in seconds with auto-complete
  • πŸ” Smart filtering β€” Find exactly what you need instantly
  • πŸ“„ Certificate storage β€” Digital proofs accessible anytime

πŸš€ Quick Start

Windows (PowerShell)

# Clone and navigate
git clone https://github.com/Eswaramuthu/Achievement-Management-System.git
cd Achievement-Management-System

# Set up environment
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt

# Initialize and run
python init_db.py
python app.py

macOS / Linux

# Clone and navigate
git clone https://github.com/Eswaramuthu/Achievement-Management-System.git
cd Achievement-Management-System

# Set up environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Initialize and run
python init_db.py
python app.py

🌐 Open your browser β†’ http://localhost:5000


πŸ› οΈ Tech Stack

Technology Purpose
Flask Lightweight Python web framework
SQLite Embedded database for local storage
JavaScript Dynamic interactivity (vanilla JS)
HTML/CSS Responsive UI with theme support
Jinja2 Server-side templating

πŸ’‘ Core Features

πŸ‘¨β€πŸŽ“ For Students

Feature Description
Dashboard View all achievements with stats at a glance
Analytics Track your progress over time with visual charts
Filters Search by type, year, position, or keyword
Certificates Download proof of achievements instantly
Profile Manage personal details and preferences

πŸ‘¨β€πŸ« For Teachers

Feature Description
Quick Entry Add achievements with intuitive forms
Auto-Complete Find students instantly as you type
Upload Attach certificates (PDF, JPG, PNG up to 5MB)
Batch Mode Manage multiple entries efficiently
Dashboard View submission statistics and trends

πŸŽͺ Achievement Types

The system supports comprehensive tracking for:

  • πŸ’» Hackathons β€” Team projects, difficulty levels, project titles
  • πŸ… Coding Competitions β€” Platforms, languages, problem difficulty
  • πŸ“ Paper Presentations β€” Journal names, conference levels, paper titles
  • 🎀 Conferences β€” Roles, presentation types, conference tiers
  • 🎭 Symposiums β€” Themes, event scope, participation types
  • ✨ Custom Events β€” Flexible fields for unique achievements

πŸ“‚ Project Structure

achievement-management-system/
β”‚
β”œβ”€β”€ app.py                    # Flask application + routing logic
β”œβ”€β”€ init_db.py                # Database schema initialization
β”œβ”€β”€ requirements.txt          # Python dependencies
β”‚
β”œβ”€β”€ static/
β”‚   β”œβ”€β”€ css/                  # Stylesheets + dark/light themes
β”‚   β”œβ”€β”€ js/                   # Client-side JavaScript
β”‚   └── certificates/         # Uploaded certificate files
β”‚
β”œβ”€β”€ templates/                # Jinja2 HTML templates
β”œβ”€β”€ database/                 # SQLite database files
β”‚
β”œβ”€β”€ README.md                 # This file
└── CONTRIBUTING.md           # Contribution guidelines

πŸ—„οΈ Database Schema

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Student   β”‚            β”‚ Achievement β”‚            β”‚   Teacher   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€            β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€            β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ student_id  β”‚ PK         β”‚ id          β”‚ PK         β”‚ teacher_id  β”‚ PK
β”‚ name        β”‚            β”‚ student_id  β”‚ FK         β”‚ name        β”‚
β”‚ email       β”‚    1:N     β”‚ teacher_id  β”‚ FK   N:1   β”‚ email       β”‚
β”‚ password    β”‚ ─────────> β”‚ type        β”‚ <───────── β”‚ password    β”‚
β”‚ department  β”‚            β”‚ event_name  β”‚            β”‚ department  β”‚
β”‚ ...         β”‚            β”‚ date        β”‚            β”‚ ...         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜            β”‚ position    β”‚            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚ certificate β”‚
                           β”‚ ...         β”‚
                           β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🎨 Key Features Explained

πŸŒ“ Dark/Light Mode

Toggle between themes with one click. Preferences persist across sessions using localStorage. Smooth transitions and eye-friendly color schemes.

πŸ”Ž Smart Student Search

Type student ID or name β€” results appear instantly. No more scrolling through endless lists. Auto-complete makes teacher workflows lightning-fast.

πŸ“Š Achievement Analytics

Visual dashboards show:

  • Achievements by type (pie charts)
  • Progress over time (line graphs)
  • Position distribution (bar charts)
  • Year-wise breakdown

πŸ“ Certificate Management

  • Upload formats: PDF, JPG, PNG
  • Max file size: 5MB
  • Secure storage with unique filenames
  • One-click download access

πŸ”§ Custom Fields by Type

Each achievement category has specialized fields:

Hackathons: Team size, project title, tech stack, difficulty
Competitions: Platform, language, problem set, ranking
Papers: Journal, conference tier, impact factor, citations
Conferences: Role, presentation format, audience size
Symposiums: Theme, scope, participation mode


🌐 Navigation Map

Page Route Access
Home / Public
Student Login /student-login Public
Teacher Login /teacher-login Public
Student Dashboard /student-dashboard Students only
Teacher Dashboard /teacher-dashboard Teachers only
View Achievements /view-achievements Students only
Add Achievement /add-achievement Teachers only

🀝 Contributing

We welcome contributions! Here's how to get started:

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

πŸ“– Read CONTRIBUTING.md for detailed guidelines.


πŸ—ΊοΈ Roadmap

Phase 1 (Current)

  • Core achievement tracking
  • Student & teacher dashboards
  • Certificate upload/download
  • Dark mode support

Phase 2 (Planned)

  • πŸ“± Mobile app (iOS + Android)
  • πŸ”— LinkedIn integration for sharing
  • πŸ€– AI-powered certificate validation
  • πŸ“§ Email notifications for new achievements
  • 🌍 Multi-language support

Phase 3 (Future)

  • πŸ“Š Advanced predictive analytics
  • πŸ“„ Export as PDF portfolio
  • πŸ” OAuth authentication
  • ☁️ Cloud deployment options

πŸ“œ License

Academic project developed at SRM Institute of Science and Technology.
For educational and institutional use.


πŸ“¬ Contact & Support

Found a bug? Have an idea? Need help?


⭐ Star this repo if you find it helpful!

Made with ❀️ at SRM Institute of Science and Technology

About

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages