Introduction

Why another python framework?

The main reason for developing a new framework is simple: I want to use it for teaching purposes. I have seen many projects which fail either because of poor coding or because they become legacy very fast. I will not get into details why and what could have been done. It defeats the purpose.

Each piece of code that is being added to fantastico will follow these simple rules:

  1. The code is written because is needed and there is no clean way to achieve the requirement with existing fantastico features.
  2. The code is developed using TDD (Test Driven Development).
  3. The code quality is 9+ (reported by pylint).
  4. The code coverage is 90%+ (reported by nose coverage).
  5. The code is fully documented and included into documentation.

What do you want to teach who?

I am a big fan of Agile practices and currently I own a domain called scrum-expert.ro. This is meant to become a collection of hands on resource of how to develop good software with high quality and in a reasonable amount of time. Resources will cover topics like

  1. Incremental development always ready for rollout.
  2. TDD (Test Driven Development)
  3. XP (eXtreme programming)
  4. Scrum
  5. Projects setup for Continuous Delivery

and many other topics that are required for delivering high quality software but apparently so many companies are ignoring nowadays.

Fantastico’s initial ideas

  • Very fast and pluggable routing engine.
  • Easily creation of REST apis.
  • Easily publishing of content (dynamic content).
  • Easily composition of available content.
  • Easily deployment on non expensive infrastructures (AWS, RackSpace).

Once the features above are developed there should be extremely easy to create the following sample applications:

  1. Blog development
  2. Web Forms development.
  3. Personal web sites.