Digital-Placement-Ecosystem :
A centralized web-based platform for engineering students to prepare for campus placements. Practice aptitude, technical MCQs, and access interview resources all in one place.
Aptitude Tests - Quantitative, Logical Reasoning, Verbal Ability
Technical MCQs - C, Python, DBMS, Operating Systems
Quiz System - Randomized questions, score tracking, history
Resources - Interview tips, HR questions, coding practice links
Admin Panel - Manage questions, categories, and users
Student Dashboard - Track progress and view statistics
Python 3.10 or higher
pip (Python package manager)
# Clone the repository
git clone https://github.com/yourusername/Digital-Placement-Ecosystem.git
cd Digital-Placement-EcoSystem
# Create virtual environment
python3 -m venv venv
# Activate virtual environment
# On macOS/Linux:
source venv/bin/activate
# On Windows:
venv\S cripts\a ctivate
# Install dependencies
pip install -r requirements.txt
# Seed the database (creates admin user + sample data)
python seed_data.py
# Run the application
python run.py
Open your browser and visit: http://localhost:5001
Role
Email
Password
Admin
admin@college.edu
admin123
Student
Register at /auth/register
(your choice)
Digital-Placement-Ecosystem/
├── run.py # Application entry point
├── config.py # Configuration settings
├── requirements.txt # Python dependencies
├── seed_data.py # Database seeder script
├── instance/
│ └── placement.db # SQLite database (auto-created)
├── app/
│ ├── __init__.py # Flask app factory
│ ├── models.py # SQLAlchemy database models
│ ├── auth/ # Authentication module
│ │ ├── routes.py # Login, register, logout
│ │ └── forms.py # WTForms definitions
│ ├── main/ # Main routes
│ │ └── routes.py # Home, dashboard, resources
│ ├── quiz/ # Quiz module
│ │ └── routes.py # Categories, quiz, results
│ ├── admin/ # Admin panel
│ │ └── routes.py # Question/user management
│ ├── templates/ # Jinja2 HTML templates
│ │ ├── base.html
│ │ ├── index.html
│ │ ├── dashboard.html
│ │ ├── auth/
│ │ ├── quiz/
│ │ └── admin/
│ └── static/
│ └── css/
│ └── style.css # Main stylesheet
└── venv/ # Virtual environment
Layer
Technology
Backend
Flask 3.0
Database
SQLite (SQLAlchemy ORM)
Authentication
Flask-Login
Forms
Flask-WTF, WTForms
Frontend
HTML5, CSS3, JavaScript
Font
Inter (Google Fonts)
User - Students and admins with role-based access
Category - Quiz categories (Aptitude/Technical)
Question - MCQs with 4 options and correct answer
QuizResult - User quiz attempts and scores
Resource - Study materials and links
StudentActivity - Activity logging
Route
Description
/
Home page
/auth/login
User login
/auth/register
Student registration
/resources
View placement resources
Protected Routes (Login Required)
Route
Description
/dashboard
Student dashboard
/quiz/
Quiz categories
/quiz/start/<id>
Start a quiz
/quiz/result/<id>
View quiz result
/quiz/history
Quiz attempt history
Admin Routes (Admin Only)
Route
Description
/admin/
Admin dashboard
/admin/questions
Manage questions
/admin/questions/add
Add new question
/admin/students
View all students
/admin/resources
Manage resources
Edit config.py to customize settings:
class Config :
SECRET_KEY = 'your-secret-key' # Change in production!
SQLALCHEMY_DATABASE_URI = 'sqlite:///placement.db' # Or PostgreSQL
SQLALCHEMY_TRACK_MODIFICATIONS = False
Using PostgreSQL (Production)
SQLALCHEMY_DATABASE_URI = 'postgresql://user:password@localhost/placement_portal'
Member
Responsibility
Member 1
Frontend design (HTML/CSS)
Member 2
JavaScript (quiz logic, validation)
Member 3
Backend (Flask routing, authentication,PYTHON)
Member 4
Database (models, queries, migrations)
Member 5
Documentation, PPT, diagrams, testing
Fork the repository
Create a feature branch (git checkout -b feature/amazing-feature)
Commit your changes (git commit -m 'Add amazing feature')
Push to the branch (git push origin feature/amazing-feature)
Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Made with for engineering students preparing for placements