Tourism Eastern Townships Official Website

Tourism Eastern Townships Official Website

We just developed and launched the new official website for Tourism Eastern Townships, a non-profit organization to foster the development and promotion of regional tourism products in Quebec and international markets.

The site is a complete rewrite of an existing old site. It is built on Yii and MySQL. The development of this site has resulted in several components now becoming part of the Yii framework (e.g. CBreadcrumb, CModelView).

Below are some facts of this site:

  • Lines of source code (not including 3rd party code): ~80,000

  • DB tables: ~100

  • Data models: ~100

  • Views: ~500

  • Controllers: ~100

  • Widgets: ~50

  • Commands: ~10

The site is in two languages: English and French. It includes both a front end and a back end. The back end is accessible only to the privileged users, which is controlled via a simplified RBAC implementation. We also used extensively the code generation tool to finish a large portion of the back-end code.

Overall, the development process was very smooth. We have three developers, one designer, and one knowledgeable web administrator working together on this project. All communications among the team were via email, basecamp, messenger and phone. We use SVN to do revision control, and we use basecamp to discuss and keep track of the progress.

Amazing! And I’m working on a project with around 12 tables and I thought that was a lot. If the other two team members was a designer and a web administrator, I suppose you wrote most of the code.

Does the 80,000 lines of code include the Yii core?

Of course not, Yii core has over 250,000 lines of code.



Beautiful site. Did you guys use the Test Driven approach?


@jonah: No, we have three people writing code, not including the designer and the webadmin. The designer did write a lot of front-end html code. The 80k lines of code are all newly written, not including yii and any other 3rd party code.

@imehesz: Thanks. We didn’t use test driven approach for two reasons. First, the other two developers are not accustomed to TTD. Second, the front end design is changing all the time, making TTD very time consuming. We could have done TTD for backend. However, due to time limit, we couldn’t do so because it takes a lot of time to set up the fixtures.

For this project, a large amount of time is spent in redesigning the database and migrating the data from the old databases. There are several old databases (mysql+ms access), which need to be consolidated into a single one.

Great! Qiang!