A modern, interactive feedback form designed for mentor-mentee evaluation systems. This web application provides a comprehensive platform for collecting structured feedback with real-time validation and user-friendly interface.
- Mentor Information: First and last name fields
- Evaluation Criteria: 7-point rating system for mentor assessment
- Emoji Rating: Visual feedback system with 5 emoji options
- Comments Section: Open-ended feedback with character counter
- Mentee Information: First and last name fields
- Real-time Validation: Instant feedback on form completion
- Visual Feedback: Highlighted selections and active states
- Character Counter: 500-character limit with visual indicator
- Error Handling: Clear error messages for missing fields
- Success Confirmation: User-friendly submission confirmation
- Data Persistence: Local storage for feedback history
- Responsive Design: Works on desktop and mobile devices
- Modern UI: Clean, professional appearance
- Accessibility: Keyboard navigation and screen reader friendly
- Loading States: Visual feedback during form submission
Overall_feedback/
βββ index.html # Main HTML file with form structure
βββ style.css # CSS styling and responsive design
βββ script.js # JavaScript functionality and validation
βββ settings.json # Configuration settings
βββ README.md # This file
- A modern web browser (Chrome, Firefox, Safari, Edge)
- No additional software installation required
-
Clone the repository:
git clone https://github.com/simranchoudhary2907/Overall_feedback.git
-
Navigate to the project directory:
cd Overall_feedback -
Open the application:
- Double-click
index.htmlto open in your default browser - Or drag
index.htmlinto your browser window - Or use a local server for development
- Double-click
For development purposes, you can use a simple HTTP server:
# Using Python 3
python -m http.server 8000
# Using Node.js (if you have it installed)
npx http-server
# Using PHP
php -S localhost:8000Then visit http://localhost:8000 in your browser.
- Mentor Name: Enter the first and last name of the mentor being evaluated
- Evaluation Section: Rate each criterion using the radio buttons:
- Strongly Agree
- Agree
- Neutral
- Disagree
- Strongly Disagree
- Emoji Rating: Click on an emoji to express your overall satisfaction
- Comments: Add detailed feedback (up to 500 characters)
- Mentee Name: Enter your first and last name
- Click the "Submit Feedback" button
- The form will validate all required fields
- If validation passes, you'll see a success message
- If there are errors, they will be displayed clearly
- HTML5: Semantic markup and form structure
- CSS3: Modern styling with flexbox and responsive design
- Vanilla JavaScript: No frameworks, pure ES6+ JavaScript
- Local Storage: Client-side data persistence
- Chrome 60+
- Firefox 55+
- Safari 12+
- Edge 79+
- Mentor Name: Both first and last name required
- Mentee Name: Both first and last name required
- Evaluation: All 7 criteria must be answered
- Emoji Rating: Must select one emoji
- Comments: Optional, but limited to 500 characters
The form collects data in the following structure:
{
mentor: {
firstName: "string",
lastName: "string"
},
mentee: {
firstName: "string",
lastName: "string"
},
evaluation: {
"My mentor has been readily available and reachable": "Strongly Agree",
// ... other criteria
},
emojiRating: "π",
comments: "string",
timestamp: "2024-01-01T00:00:00.000Z"
}- Open
index.html - Add a new row in the evaluation table
- Update the
criteriaLabelsarray inscript.js - Add corresponding CSS styling if needed
- Edit
style.cssto change colors, fonts, and layout - The design uses CSS custom properties for easy theming
- Responsive breakpoints are included for mobile optimization
- Add server-side integration in the form submission handler
- Implement data export features
- Add analytics and reporting capabilities
- Integrate with external APIs
- Feedback data is automatically saved to browser's localStorage
- Data persists between browser sessions
- Can be accessed via browser developer tools
To export stored feedback data:
// In browser console
const feedbackHistory = JSON.parse(localStorage.getItem('feedbackHistory') || '[]');
console.log(JSON.stringify(feedbackHistory, null, 2));- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the MIT License.
- Simran Choudhary - Initial work - GitHub Profile
- Modern web development best practices
- Accessibility guidelines for inclusive design
- User experience principles for intuitive interfaces
If you encounter any issues or have questions:
- Check the browser console for error messages
- Ensure all files are in the correct directory structure
- Verify browser compatibility
- Open an issue on GitHub with detailed information
Version: 1.0.0
Last Updated: January 2024
Status: Production Ready β