Project Management System
Overview/Goals: The PMS app offers a user-friendly, versatile project management solution, enabling users to efficiently create, view, edit, and delete tasks and projects (CRUD operations). It provides dual views (list and board) for enhanced project visualisation, streamlining workflows while prioritising simplicity and usability. Designed for small businesses and freelancers, the app avoids feature overload often found in complex tools. Currently, my focus is on migrating the application to the cloud using a "lift, tinker, and shift" strategy to explore containerization and AWS services.
GitHub repo: github.com/lzrdGreen/pms
Technical Details:
Programming languages and frameworks: Python, Django
Database technology: orirginally the project used the default SQLite, a lightweight database suitable for development environments, however it is not supported in the AWS Cloud so migration would force usage of MySQL version of Amazon Relational Database Service, a more scalable option for cloud deployments.
Deployment details: Live deployment on PythonAnywhere
Key Features:
Dual view options: List and board views for flexible project visualisation.
Intuitive user interface for easy navigation and task management.
Streamlined project management workflows to enhance productivity. Visual progress indicators for project completion status.
Comprehensive task and project CRUD operations.
Task prioritisation and categorisation.
Keyword search and task filtering by tags for efficient information retrieval.











Click on an image to enlarge it.
Challenges:
Balancing user-friendliness with the need for powerful features: The PMS app strives to be easy to use while offering the features users need to manage projects effectively.
Developing robust functionality within the constraints of a solo project.
A new project management tool needs to be easy to learn and use to encourage adoption by users who may be accustomed to other tools.
Solutions Implemented:
The PMS app's intuitive user interface and focus on CRUD operations (Create, Read, Update, Delete) address the challenge of balancing user-friendliness with powerful features.
This personal project features streamlined workflows for creating, managing, and tracking tasks, with visual progress bars indicating the completion status of each project.
The application features streamlined workflows for creating, managing, and tracking tasks, with visual progress bars indicating the completion status of each project.
Task prioritization and categorization are supported through the use of tags, and tasks can be filtered by tags for efficient information retrieval.
The application provides both list and board views, offering flexible project visualization tailored to different user preferences.
Comprehensive CRUD (Create, Read, Update, Delete) operations are implemented for both tasks and projects.
Lessons Learned:
Developing a full-stack application solo requires careful planning and time management.
Prioritising core functionality over extensive features is crucial for solo projects with limited resources.
User experience (UX) design is critical for project management tools. A well-designed UX can make even complex features easy to use.
It is important to strike a balance between features and usability. Too many features can overwhelm users, while too few features may not meet their needs.
Future Directions:
Migaration to the Cloud - just to try how it works and see what are the opportunities offered by cloud-based solutions.
Cost Management and Budgeting Tools are completely missing. This means that either they should be developed from scratch or seamless integration with existing Cost/ Budget tools or popular accounting software (to minimize disruption for users) is necessary.
Time Management Features: a calendar view for deadlines and milestones, basic time tracking for tasks, recurring tasks for repetitive jobs.
Basic Collaboration Tools: social media-style user profiles, basic file-sharing functionality with image uploads, seamless assignment of tasks to specific team members, a simple in-app notification system for task assignments and deadlines
Future development will explore integrations with external tools (like calendar applications) to enhance workflow compatibility.