Here's the updated README:
A centralized platform for tracking and showcasing academic achievements. Students access their accomplishments instantly. Teachers record them effortlessly. Everyone gets clarity.
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.
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
# 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# 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.pyCreate 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
| 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 |
| 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 |
| 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 |
| 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 |
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
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
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ 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 โ โโโโโโโโโโโโโโโ
โ ... โ
โโโโโโโโโโโโโโโ
Toggle between themes with one click. Preferences persist across sessions. Smooth transitions and eye-friendly color schemes.
Type student ID or name โ results appear instantly. No more scrolling through endless lists. Auto-complete makes teacher workflows lightning-fast.
Visual dashboards show:
- Achievements by type (pie charts)
- Progress over time (line graphs)
- Position distribution (bar charts)
- Year-wise breakdown
- Upload formats: PDF, JPG, PNG
- Max file size: 5MB
- Secure storage with unique filenames
- One-click download access
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.
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
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:
- Go to "My Achievements"
- Click "Share Achievement" on any achievement card
- Select "Export Card" to generate PNG/PDF
- Download and share on LinkedIn or social media
- Others can scan QR code to verify achievement
For detailed documentation, see ACHIEVEMENT_EXPORT_GUIDE.md.
| 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 |
We welcome contributions! Here's how to get started:
- Fork the repository
- Clone your fork locally
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
๐ Read Contributing.md for detailed guidelines.
- Core achievement tracking
- Student & teacher dashboards
- Certificate upload/download
- Dark mode support
- Flask Sessions authentication
- Role-based access control (RBAC)
- Admin approval workflow
- ๐ 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
- ๐ Advanced predictive analytics
- ๐ Export as PDF portfolio
- โ๏ธ Cloud deployment options
Academic project developed at SRM Institute of Science and Technology.
For educational and institutional use.
Found a bug? Have an idea? Need help?
- ๐ Report Issues
- ๐ฌ Discussions
- ๐ง Open an issue for direct contact
โญ Star this repo if you find it helpful!
Made with โค๏ธ at SRM Institute of Science and Technology