How and why I built Custom Project Management Tool
My primary background is in project management in the IT field however I love to program. So when the two worlds can be combined for my work I enjoy every minute of it.
The problem I wanted to solve
I spent hours looking at a project management tool that had everything I wanted. I noticed that to be a freelancer you need several tools. A tool to communicate, one to track time, one to track tasks. I found nothing that really had everything in one.
What is Custom Project Management Tool?
I essentially built a project management tool from scratch. I created a database driven site on my website where it is protected through a login. I can log in and see all my clients and track tasks, projects, upload and store documents, chat with clients, and track my time. The system also allows me to provide a client with a login where it will only display their company info. This way they can log in and view open tasks, where each task is, the time I logged, and the documents. The client can also contact me directly as well. The time tracking also can be used as invoicing and PayPal is integrated into it. Lastly, if I wanted to hire people to manage clients I could create logins for them and assign them to certain clients and restrict areas. Those employees can also track hours where I can then use it to pay them.
The process of building Custom Project Management Tool
I started with research and wireframe. I saw what I felt was good and bad for each tool and drafted a layout. From there I built the login and session key. I built the initial data model and began building out my end to begin tracking projects and tasks. Once I got everything I wanted I built the client facing. Since most of the pages are similar I copied much of the code and modified.
Challenges I faced
I didn't face many challenges. I had built similar projects in the past. The biggest concern I had was ensuring that everything I was adding was mobile friendly. Some of the aspects were larger tables, so I wanted to be sure the layout still worked well with phones (since this is mostly what I use, and many clients also).
I think while the concepts were basic, if you do not think of the end product first, the UI and the features would not make sense. A lot of the features were related so I had to think a lot about the flow I would actually use it. So from a technology perspective I wanted to do it one way, but from a business and logical approach I needed to do other things.
Tips and advice
Start with basic core features and add fancy widgets after. Don't try to overdue it initially until you have a foundation to set them on.
Final thoughts and next steps
I see this project as just a starting point. I built it modular so I can keep expanding. I plan on adding API and other connections to it. Bein able to add Google drive, Google sheet, a white board for drawing, possible screen share/video are the next steps I want to build and see how detailed I can build it out!