1001 Freelance Projects
Latest Projects from Freelance Marketplaces
Today is: 14-May-2025 12:05 GMT
View Project
View this project in detail (Note: you will be redirected to external marketplace)
Project title: Wordpress Plugin
Posted by: External project from PeoplePerHour
Started: 04-Dec-2024 13:24 GMT
Description: Requirements for the WordPress Attendance Plugin Development
This plugin will manage attendance tracking for both registered and non-registered students in WordPress. It will utilize Select2 for enhanced user experience with dropdown fields. Below are the detailed sections and functionalities required for the plugin:

Plugin Menu
Dashboard
Take Attendance
Students
Classes
Groups
Reports
Language
Settings

1. Dashboard
Functionality: Display general statistics using colorful cards.
Required Statistics:
Total enrolled students.
Total WordPress users.
Total created classes.
2. Take Attendance
Page layout divided into two columns:
Left Column:
Monthly calendar with the current day selected by default.
Right Column:
Select field (using Select2) for selecting a class.
Additional select field with options:
"Mark All as Present", "Absent", "Tardy".
Dynamic student list displayed upon selecting a class:
Format per student:
Firstname Lastname (Username if First/Last not available) | Group | Status
Three buttons for each student:
Present
Absent
Tardy
Save Attendance button.
3. Students
Main View:
Student Table:
Columns: First Name, Last Name, Email, Class, Status.
Filters:
Filter by Class.
Filter by Status (Active, Archived).
Actions:
Add Student button.
View Archived button.
Add Student Form:
Initial Options:
Radio select:
Assign registered user (fetch data from wp_usermeta).
Create new student record.
Form Fields:
Email:
Auto-filled from wp_usermeta or manual entry.
Phone:
Auto-filled from wp_usermeta or manual entry.
Status: Select (Active, Archived).
Classes: Select2.
Group: Select2.
Start Date: Date picker.
Notes: Text input.
If Classes or Groups do not exist: Display message:
"Not found. Create one."
Include direct links to the respective pages.
4. Classes
Main View:
Class Creation Form (Left Column):
Name.
Weekday: Select field.
Start Time: Time picker.
End Time: Time picker.
Instructor: Text input.
Notes: Text area.
Save button.
Class Table (Right Column):
Columns: ID, Name, Number of Students, Actions.
Actions available:
Edit Class
Delete Class
View Students (linked to a page showing enrolled students in a table):
Full Name.
Buttons for each student:
Edit Student
Delete Student
Checkbox for bulk selection.
Add Students button using Select2 to add multiple students at once.
5. Groups
Group Definitions:
Group Creation Form (Left Column):
Name.
Price.
Expiration:
Options:
Never
After (two additional fields for specifying duration and unit: days, weeks, months, years).
Attendance Tracking:
Per class.
Per day.
Attendance Limit: Numeric field (0 = No limit).
Examples:
8Times-Student Card:
Price: $10.
Expiration: After 4 months.
Attendance Tracking: Per class.
Limit: 8.
VIP:
Price: $29.
Expiration: After 4 months.
Attendance Tracking: Per day.
Limit: 0 (Unlimited).
How Groups are Displayed in "Take Attendance":
With Limit: John Derick (3 of 8 | 8Times-Student Card) valid
Without Limit: John Derick (Dance Basic | 25 Times) valid
Expired Group: John Derick (6 of 10 | 10Times-Student Card) expired
6. Reports
Main Features:
Generate custom reports by:
Date.
Class.
Student status (Active/Archived).
Export reports in CSV format.
Enhancement: Include visual charts for better data representation.
7. Language
Functionality: Multilingual support using WordPress gettext() functions for translations.
8. Settings
General Configurations:
Date and time formats.
Select2 styling options.
User roles with access control for the plugin.
Additional Enhancements
Modular Code Structure:

Organize functionality into independent classes (Attendance, Students, Classes, Groups) for maintainability.
Automated Notifications:

Add reminders or alerts for upcoming class expiration or low attendance limits.
REST API Integration:

Expose plugin data through custom REST API endpoints for external integrations.
Role-Based Access Control:

Define specific roles (e.g., Admin, Instructor) with tailored permissions.
Responsive UI/UX:

Use frameworks like Bootstrap for consistent and mobile-friendly design.
Developer Notes:

Efficiency: Use Select2 for dropdowns and avoid redundant queries.
Database: Normalize tables for Students, Classes, and Groups to prevent data redundancy.
Security: Sanitize and validate all input data. Prevent SQL injection and XSS vulnerabilities.
Scalability: Ensure code is modular, extensible, and compatible with WordPress best practices.
Project ID: 3411122
Project category:
Project budget:
View this project in detail (Note: you will be redirected to external marketplace)
Last Projects / Browse Projects
  Project Started
Script writer MMA YouTube Channel 14-May-2025
09:14 GMT
Van with a glass rack installed 14-May-2025
09:11 GMT
UHNWI and HNI buy in for a new bespoke luxury service in the UK 14-May-2025
08:57 GMT
2D Drawings for Three Small Mountain Lodges 14-May-2025
08:56 GMT
Verified account purchases that can publish articles 14-May-2025
08:56 GMT
Dart - / JavaScript Coding on App & Backend to make some changes 14-May-2025
08:56 GMT
Website issues 14-May-2025
08:40 GMT
Data collection expert 14-May-2025
08:20 GMT
High Quality Guest Posts 14-May-2025
08:14 GMT
Shopify Vape Store Development (UK Compliant) 14-May-2025
07:41 GMT
Britta Brand Jewellery 14-May-2025
07:41 GMT
Contact Nurseries Around Wigan–Promote Sports Coaching Services 14-May-2025
07:34 GMT
Experienced Bookkeeper with BAS and Payroll Expertise 14-May-2025
07:26 GMT
Re-design simple crypto website 14-May-2025
07:24 GMT
Ed Miliband "I wanna bankrupt you" 14-May-2025
07:24 GMT
Browse All Projects
Projects by Skills ...
Projects for 'android'
Projects for 'ajax'
Projects for 'asp'
Projects for 'aspnet'
Projects for 'cms'
Projects for 'cpp'
Projects for 'csharp'
Projects for 'css'
Projects for 'delphi'
Projects for 'design'
Projects for 'drupal'
Projects for 'excel'
Projects for 'facebook'
Projects for 'flash'
Projects for 'html'
Projects for 'java'
Projects for 'javascript'
Projects for 'joomla'
Projects for 'iphone'
Projects for 'mysql'
Projects for 'photoshop'
Projects for 'php'
Projects for 'python'
Projects for 'ruby'
Projects for 'seo'
Projects for 'sql'
Projects for 'sysadm'
Projects for 'translate'
Projects for 'typing'
Projects for 'twitter'
Projects for 'vbnet'
Projects for 'xml'
Projects for 'wordpress'
Projects for 'writing'
Read RSS feeds ... New!
RSS feed for 'android'
RSS feed for 'ajax'
RSS feed for 'asp'
RSS feed for 'aspnet'
RSS feed for 'cms'
RSS feed for 'cpp'
RSS feed for 'csharp'
RSS feed for 'css'
RSS feed for 'delphi'
RSS feed for 'design'
RSS feed for 'drupal'
RSS feed for 'excel'
RSS feed for 'facebook'
RSS feed for 'flash'
RSS feed for 'html'
RSS feed for 'java'
RSS feed for 'javascript'
RSS feed for 'joomla'
RSS feed for 'iphone'
RSS feed for 'mysql'
RSS feed for 'photoshop'
RSS feed for 'php'
RSS feed for 'python'
RSS feed for 'ruby'
RSS feed for 'seo'
RSS feed for 'sql'
RSS feed for 'sysadm'
RSS feed for 'translate'
RSS feed for 'typing'
RSS feed for 'twitter'
RSS feed for 'vbnet'
RSS feed for 'xml'
RSS feed for 'wordpress'
RSS feed for 'writing'
New!
Проекты на русском
(Projects in Russian)

Short URL:
1001fp.com
Mobile version:
m.1001freelanceprojects.com
Copyright © 2005-2024 1001 Freelance Projects