Travelmore is a travel portal that seeks to connect Greece travellers providing them a place to share their travel experiences. Anyone can become a member and write articles, tourist guides, share photos and leave their comments for any Greek destination. Members earn reward offers for their next trip to a Greek destination. Travelmore aims to provide a pool with unbiased travel content written by travel funs, to people with any travel preference.
Status: Currently travelmore is in beta version and the first public release is expected by the end of 2013.
The team: This is a two people project; my other half who mainly undertakes the user experience architecture & copywriting, and I who is the database architect, back-end and front-end developer.
As a Greek passionate traveller and web fun, I’ve noticed that web lacks travel information and guidance for many beauties in Greece. So, some time ago, I decided to fill this gap using my development skills. I started planning, researching and finally stabilising my idea; create a travel web community where users can find and add travel guidance, tips and personal experiences. The idea doesn’t end here, travelmore.gr is a platform were users not only can fully plan their holiday and find demanding information, but also benefited from sharing their travel experience.
The first steps of the project started with researching the existing market, analysing several similar online services and identifying their pros and cons. This research, gave us the opportunity to reassure that there is space in the market to provide an improved travel portal with more value to the users. The next step was to visualise the idea on paper creating user journeys / flowcharts and wireframes. Finally, the technologies and architecture were defined for the development.
Travelmore is a Zend Framework application. It is being developed following the MVC pattern and module system of ZF 1.12.
The Model is represented by domain object classes and data mapper classes, the View by .phtml template files
and View Helpers, and the Controller by Zend_Controller_Front and Zend_Controller_Action subclasses.
More specifically, Models comprised by domain objects that include the system's rules and data.
The mapping of domain
objects to the MySQL database is happening through Data Mapper classes. The presentation of Model is responsibility
of both the View and the Controller.
The application is powered by a library on a public repository that contains application classes ( domain objects, data mappers, ZF extensions-plugins-helpers etc), ZF classes and other third parties classes. The code structure is based on PSR and my vendor name is TM (initials from travel more). Any personal classes that are non-application dependant are prefixed with GG (initials from my name).
Library/ ├── GG/ │ │ │ ├── Util/ │ │ ├── Date.php │ │ ├── Math.php │ │ ├── String.php │ │ ├── Photo.php │ │ ├── Password.php │ │ ├── BitwiseFlag.php │ │ └── ... │ │ │ ├── Zend/ │ │ ├── Controller/ │ │ ├── View/ │ │ └── ... │ │ │ └── ... │ ├── TM/ │ ├── Model/ │ │ ├── DataMapper/ │ │ │ ├── Abstract.php │ │ │ ├── Destination.php │ │ │ ├── User.php │ │ │ ├── Post.php │ │ │ └── ... │ │ ├── Destination.php │ │ ├── User.php │ │ ├── Post.php │ │ └── ... │ │ │ ├── Zend/ │ │ ├── Auth/ │ │ │ ├── Acl.php │ │ │ └── Adapter.php │ │ ├── Controller/ │ │ │ ├── Action/ │ │ │ │ └── Helper/ │ │ │ │ ├── LayoutLoader.php │ │ │ │ └── ... │ │ │ ├── Helper/ │ │ │ └── Plugin/ │ │ │ ├── LanguageSelector.php │ │ │ └── ... │ │ ├── Form/ │ │ │ ├── Base.php │ │ │ └── Element/ │ │ │ ├── Hidden.php │ │ │ └── ... │ │ ├── Validate/ │ │ │ ├── Email.php │ │ │ ├── UniquePublicId.php │ │ │ └── ... │ │ ├── View/ │ │ │ └── Helper/ │ │ │ ├── Breadcrumb.php │ │ │ └── ... │ │ └── ... │ │ │ └── ... └── Zend/ ├── Acl/ ├── Amf/ ├── Application/ └── ...
On the front end development of travelmore I'm using HTML5, CSS, Javascript / jQuery, Ajax and Bootstrap as front end framework.
Below are listed some of the front end tools that are used.
Some of the features of Bootstrap that are being used are:
Please check below samples of the project.