A modern, feature-rich assignment submission platform built with Google Apps Script, featuring advanced image zoom capabilities, glassmorphism UI, and seamless file management.
- Glassmorphism Design - Beautiful translucent glass effects
- Dark/Light Mode Toggle - Seamless theme switching with animations
- Neon Color Palette - Eye-catching gradient buttons and effects
- Responsive Layout - Perfect on desktop, tablet, and mobile devices
- Smooth Animations - CSS animations and transitions throughout
- 20x Magnification - Crystal-clear zoom up to 2000% with no quality loss
- Professional Image Rendering - Hardware-accelerated, pixelated rendering for sharp details
- Interactive Controls - Click to zoom, mouse wheel support, drag to pan
- Image Enhancement - Dynamic contrast, saturation, and sharpening filters
- Modal Popup - Full-screen image viewing experience
- Multi-File Upload - Submit multiple files simultaneously
- 50MB Total Limit - Generous file size allowance
- Progress Tracking - Real-time upload progress with visual feedback
- File Validation - Automatic file type and size checking
- Cloud Storage - Secure storage via Google Drive integration
- Student Portal - Clean, intuitive assignment submission interface
- Teacher Portal - Comprehensive assignment management dashboard
- Role-Based Access - Secure separation of student and teacher functionalities
- Hardware Acceleration - GPU-powered rendering for smooth performance
- Image Quality Optimization - Multiple rendering techniques for crystal-clear images
- Efficient Loading - Lazy loading and optimized resource management
- Cross-Browser Support - Works perfectly on all modern browsers
Note: This is a Google Apps Script web application. Users can access the deployed version by requesting the web app URL from the administrator.
Demo Link: https://asad2204.github.io/assignment-submission-system/showcase.html
- Student Portal: Use the deployment URL without any parameters
- Teacher Portal: Add
?role=teacher&secret=YOUR_SECRET_STRINGto the URL
- β¨ Modern Glassmorphism UI with dark/light mode toggle
- π 20x Image Zoom with crystal-clear quality
- π Multi-File Upload with real-time progress tracking
- π± Fully Responsive design for all devices
- Frontend: HTML5, CSS3, JavaScript ES6+
- Backend: Google Apps Script
- Storage: Google Drive API
- UI Framework: Tailwind CSS
- Animations: CSS3 Animations + Animate.css
- Icons: Unicode Emojis + Custom CSS Icons
- Google Account with Google Drive access
- Google Apps Script project
- Basic knowledge of Google Apps Script deployment
-
Clone the Repository
git clone https://github.com/yourusername/assignment-submission-system.git cd assignment-submission-system -
Setup Google Apps Script
- Open Google Apps Script
- Create a new project named "Assignment Submission System"
- Copy the contents of
Code.jsto the script editor - Add HTML files: Click
+next to Files > Select "HTML"- Create
Student.htmland paste the contents - Create
Teacher.htmland paste the contents
- Create
-
Configure Google Sheets & Drive
- Create a Google Sheet with two sheets: "Assignments" and "Submissions"
- Copy the Spreadsheet ID from the URL
- Create a folder in Google Drive for file storage
- Copy the Folder ID from the URL
- Update these IDs in
Code.js:const SPREADSHEET_ID = "your-spreadsheet-id"; const DRIVE_FOLDER_ID = "your-folder-id"; const SECRET_STRING = "your-secure-password"; // Change this!
-
Deploy the Application
- Click "Deploy" > "New Deployment"
- Click "Select type" > "Web app"
- Set the following:
- Execute as: Me
- Who has access: Anyone (or your preference)
- Click "Deploy"
- Copy the deployment URL
- Grant necessary permissions when prompted
- Access the Student Portal via the deployment URL
- Select your assignment from the dropdown
- Fill in your details (name, roll number, email)
- Upload your assignment files (multiple files supported)
- Click "Submit Assignment" and track upload progress
- Access the Teacher Portal
- Create new assignments with descriptions and deadlines
- Upload reference images or documents
- View and manage all submissions
- Download student submissions organized by assignment
.image-modal img {
image-rendering: pixelated;
image-rendering: crisp-edges;
image-rendering: high-quality;
filter: contrast(1.2) saturate(1.2) sharpen(2);
will-change: transform;
-webkit-transform: translateZ(0);
}.glassmorphism {
background: rgba(30, 41, 59, 0.25);
backdrop-filter: blur(20px);
border: 2px solid rgba(255, 255, 255, 0.15);
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.1);
}// Real-time progress tracking with visual feedback
const progress = Math.round((filesProcessed / files.length) * 100);
submitMessage.innerHTML = `π€ Processing files... ${progress}%`;DRIVE_FOLDER_ID- Google Drive folder for file storageADMIN_EMAIL- Email for administrative notificationsMAX_FILE_SIZE- Maximum file size limit (default: 50MB)
- Theme Colors - Modify CSS variables in
:root - Upload Limits - Adjust file size and count limits
- UI Elements - Customize glassmorphism effects and animations
- Zoom Levels - Configure maximum zoom levels and increments
- Image Zoom: 60 FPS smooth scaling up to 20x magnification
- File Upload: Supports up to 50MB total with progress tracking
- UI Responsiveness: < 100ms interaction response time
- Cross-Browser: 99%+ compatibility with modern browsers
- 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.
If you encounter any issues or have questions:
- For support, email asadrafaqat2021@gmail.com or open an issue in the GitHub repository.
- Muhammad Asad
- Google Apps Script team for the amazing platform
- Tailwind CSS for the utility-first CSS framework
- The open-source community for inspiration and resources
- Security: Change the
SECRET_STRINGinCode.jsbefore deployment - Privacy: The app requires access to user email for authentication
- Storage: Ensure your Google Drive has sufficient storage space
- Permissions: Grant all necessary permissions during first deployment
- Role-based access control (Student/Teacher portals)
- Secret string authentication for teacher access
- Email validation for submissions
- File type and size validation
- Secure Google Drive integration
Revolutionizing assignment submission, one upload at a time!