Install PyCharm Community Edition via Software App
- Structure well-defined API endpoints to facilitate communication between the frontend, backend, and any external services.
- Include endpoints for:
- Driver Management
- Route Scheduling
- Assignment Operations
- Notifications
- Reporting Functionalities
- Develop a comprehensive plan outlining the specific development tasks required to build the application.
- Key tasks include implementing core features such as:
- Authentication
- Driver Management
- Route Scheduling
- Assignment Automation
- Real-Time Monitoring
- Reporting
The "Public Transport Driver Deployment" application is designed to manage the assignment of drivers to various public transport routes effectively. The system should optimize scheduling, handle driver requests, accommodate last-minute changes, and ensure clear communication between transport managers and drivers.
- Maintain a roster of available drivers with their skills, certifications, and scheduling preferences.
- Allow drivers to update their availability and preferences via a user interface or mobile application.
- Define and manage transport routes and schedules.
- Allow dynamic scheduling based on factors like driver availability, route demand, and operational needs.
- Automatically assign drivers to routes based on criteria such as availability, route familiarity, and seniority.
- Allow manual overrides and adjustments by transport managers.
- Send notifications to drivers regarding assignments, changes, and alerts via SMS or push notifications.
- Provide a feedback loop for drivers to confirm or request changes to assignments.
- Offer a dashboard for managers to monitor current deployments and make real-time adjustments.
- Handle disruptions such as driver sick leave or route changes efficiently.
- Keep logs of driver assignments for audit and analysis.
- Generate reports to assess driver utilization and operational efficiency.
-
Readability:
- Clarity and understandability of the code, including comments and straightforward logic.
-
Code Formatting:
- Adherence to PEP8 standards and Pythonic principles for backend code, and appropriate style guides for Vue 3 in frontend development.
-
Code Reusability:
- Effective reuse of code components and functions to minimize redundancy.
-
Design Patterns:
- Utilization of recognized programming patterns, such as MVC (Model-View-Controller) and others relevant to both backend and frontend development.
-
Project Structure:
- Logical and organized structuring of files and directories in both the backend and frontend parts of the application.
-
Optimal Use of Frameworks:
- Efficient and effective use of open-source frameworks like Python Eve for the backend and Vue 3 for the frontend, showcasing best practices and advanced features.
-
Innovation and Improvement:
- Feel free to add additional functionalities or refactor existing code to demonstrate your skills, creativity, and understanding of systematizing a complex application.
Add encyption on user password (one way encryption) using the package passlib
Add access control to all endpoints except "/authenticate" using Event Hooks in Python EVE