Analysis of an existing site: Basecamp

Basecamp by 37Signals is by far the most popular and well known web based project managment system. It has been around since 2004, so is well established, and as with my project, it was initially created to solve a real business need. The 37Signals team used to be a web dev agency, and they created basecamp to help manage their own projects.

The following is a summary of the sections they talk about in their product tour, which will obviously highlight the key benefits of their system.

Customization

The very first thing they talk about is the ability to change the colour scheme and logo of the UI. Useful for branding the system as your own (premium paid plans also remove the basecamp logo from the footer

Dashboard

Next up is the landing page, the dashboard is the first screen you see when you login. Everyone has their own view of the dashboard based on the projects their involved in. It lists your clients and projects in the sidebar, and recent activity accross projects in the main part of the page. It also flags any overdue milestones and upcoming in the next few days.

Read the rest of this entry »

Storing hierachical data in MySQL

I will need to be able to store hierachical data in a number of parts of the project management system, such as nested projects, nested tasks, comments etc. A standard relational database, MySQL in this case, isn’t optimised for storing hierachical data unfortunately.

There are 2 main ways to store this data in the database, which will be discussed here in brief. I will skip a lot of the technical details about both implementations as I would just be repeating what I found in the following 2 articles which where the basis of this research.

http://articles.sitepoint.com/article/hierarchical-data-database

http://dev.mysql.com/tech-resources/articles/hierarchical-data.html

Read the rest of this entry »