Skip to content

meswaramuthu/Achievement-Management-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

159 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Here's the updated README:


๐Ÿ† 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

# Configure environment variables
copy .env.example .env
# Open .env and set your SECRET_KEY and FLASK_ENV

# 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

# Configure environment variables
cp .env.example .env
# Open .env and set your SECRET_KEY and FLASK_ENV

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

Environment Variables

Create a .env file in the project root (use .env.example as a template) and set the following:

FLASK_ENV=development
SECRET_KEY=your-strong-secret-key-here

๐ŸŒ Open your browser โ†’ http://localhost:5000


๐Ÿ› ๏ธ Tech Stack

Technology Purpose
Flask Lightweight Python web framework
Flask Sessions Secure, server-side session management and authentication
Werkzeug Password hashing via generate_password_hash and check_password_hash
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
๐Ÿ“ค Export Cards Generate professional PNG/PDF cards with QR codes for LinkedIn
๐Ÿ”— Share & Verify Share achievements with QR code verification links
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

๐Ÿ” Security & Access Control

Feature Description
Flask Sessions All authentication is handled server-side using secure Flask sessions โ€” no third-party auth providers required
Password Hashing User passwords are securely hashed in the local database using Werkzeug

๐ŸŽช 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
โ”œโ”€โ”€ .env.example              # Environment variable template
โ”‚
โ”œโ”€โ”€ static/
โ”‚   โ”œโ”€โ”€ css/                  # Stylesheets + dark/light themes
โ”‚   โ”œโ”€โ”€ js/                   # Client-side JavaScript
โ”‚   โ””โ”€โ”€ certificates/         # Uploaded certificate files
โ”‚
โ”œโ”€โ”€ templates/                # Jinja2 HTML templates
โ”œโ”€โ”€ ams.db                    # SQLite database
โ”œโ”€โ”€ instance/                 # Instance-specific 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  โ”‚
โ”‚ is_approved โ”‚            โ”‚ date        โ”‚            โ”‚ is_approved โ”‚
โ”‚ ...         โ”‚            โ”‚ position    โ”‚            โ”‚ ...         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ”‚ certificate โ”‚            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                           โ”‚ ...         โ”‚
                           โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐ŸŽจ Key Features Explained

๐ŸŒ“ Dark/Light Mode

Toggle between themes with one click. Preferences persist across sessions. 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

๐Ÿ›ก๏ธ Role-Based Access Control

Routes are protected using custom Python decorators:

  • @student_required โ€” restricts access to authenticated students only
  • @teacher_required โ€” restricts access to authenticated teachers only
  • @admin_required โ€” restricts access to administrators only

Attempting to access a restricted route without the correct role redirects the user immediately, ensuring strict privilege separation across the application.

๐Ÿ”ง 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

๐Ÿ“ค Achievement Card Export & Sharing

Students can now generate professional achievement cards with QR codes:

  • PNG Export: High-quality 300 DPI PNG images perfect for social media
  • PDF Export: Printable PDF certificates ready for portfolios
  • QR Codes: Scannable verification codes linking to public achievement pages
  • Social Sharing: One-click sharing to LinkedIn, Twitter, and other platforms
  • Public Verification: Shareable links allow anyone to verify achievements
  • Dark/Light Support: Exported cards respect user's theme preference

How to Use:

  1. Go to "My Achievements"
  2. Click "Share Achievement" on any achievement card
  3. Select "Export Card" to generate PNG/PDF
  4. Download and share on LinkedIn or social media
  5. Others can scan QR code to verify achievement

For detailed documentation, see ACHIEVEMENT_EXPORT_GUIDE.md.


๐ŸŒ 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
Admin Panel /admin Admins 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
  • Flask Sessions authentication
  • Role-based access control (RBAC)
  • Admin approval workflow

Phase 2 (In Progress)

  • ๐Ÿ”— LinkedIn integration & social sharing
  • ๐Ÿ“ค Achievement card export (PNG/PDF)
  • QR code verification system
  • ๐Ÿ“ฑ Mobile app (iOS + Android)
  • ๐Ÿค– AI-powered certificate validation
  • ๐Ÿ“ง Email notifications for new achievements
  • ๐ŸŒ Multi-language support

Phase 3 (Future)

  • ๐Ÿ“Š Advanced predictive analytics
  • ๐Ÿ“„ Export as PDF portfolio
  • โ˜๏ธ 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

โšก