Building something like this is no small feat. There is lots to take into account and it can become daunting if you let it swamp you. I built it on a micro php framework I built and still like to advance from time to time. This handles the basic user login, account settings kinda thing. The next step is to plan the basic functionality out
I broke the project into the following component parts.
- Projects
- Tasks
- Teams
- Communications (emails and notifications)
Each component would have bare functions that needed to be met. For projects I concentrated on solo access first. So setting up a project, title name, and then what functions should it have?
- Notes
- Task groups & Tasks
- File uploads / deleting
- URL Lists
It also gives some amazing unthought of hurdles to overcome and work out. For example, if I work in a team and I remove someone from a task and replace them with someone else what is meant to happen is this:
- The person on the task gets an email saying they have been removed
- The new person gets told they have now been assigned a task
- The existing users do not get anything.
How does it know who was already on the system, how does it know who was added and Who was removed?
All this took some working out and just running the functions through on paper (well...ipad) and simply breaking things down step by step. Turns our it wasn't that hard!! Like with most things I was over thinking it and adding in steps where none needed. All good fun and always good to learn things!