Need help with new website

Hi everyone,

I need help with regards on how best to go about creating a website that can help relieve some of the manual work I’m doing with my business.

Bit of background information, my business revolves around matching tuition assignments between students and tutor. Here’s how the business works and briefly what we need in the new website.

  1. Student request a home tutor from us via an online form, the submitted online form is distributed among our coordinators for moderation before posting them online in the available assignments page.

  2. Once the tutor request has been approved by our coordinators; it will be posted to the available assignment page. Tutors who match the subject, level and area of the assignment will receive an email notification inviting them to apply for the assignment.

  3. Once the tutor request goes live, tutors can apply for the assignment in their login area and also indicated their preferred rate and timings.

  4. Tutors can create an account with us. They will be able to create a profile with their photos, educational background and experience etc on the page. Most information on the profile page is viewable to the public except for the contact info.

  5. The coordinators will be able to see the full profile of the tutors who applied for the assignment and decide who to hire. Tutors that are not selected will automatically receive a notification email. It would be great if the website can send the confirmation email to the selected tutor as well.

An example of my competitors’ site would be www[dot]temasektutors[dot]com and startutor[dot]sg

Would wordpress with customization be able to do the above?

Any recommendation on how to go about creating my website will be greatly appreciated.

Thanks!

Hi jerrymarketing,

While wordpress could be used to make this type of application, I would not recommend it. Wordpress is not ideal when dealing with a lot of back-end type of work that your application seems to need. You may consider using a framework like CodeIgniter or Symphony2 (my preference is for Symphony2), to help you as there is good documentation and community associated with these frameworks and you would not have to define as much of the ‘inner-piping’ as you would if you custom programmed this.

I personally would build this custom following these steps:

[LIST]
[]On small pieces of paper (cue cards) write out the major points of interaction inputs, outputs, filter and logic flow. On these cards identify the roles and identities that make-up your application. Arrange the cards into a logical flow
[
]Consider doing sequence diagrams to explicity map out the relationship of your functionality (objects)
[]Based on your refinement of what is needed using the cue cards and sequence flows you can begin designing your database. You don’t need to think of EVERY permeation, just what will service the ‘Model’ of your application
[
]I would then write code tests first starting to fill in the basics of what is in my flow diagrams and would create aspects of the database that I need as I fulfill the tests.
[]I would ensure that I fully integrate security and validation throughout my code while developing as this should not be added as a afterthought.
[
]By the time your finished this you are ready to do front-end coding as your output of php will be fairly raw, just enough so that you can verify that the application functions as intended. You will have to decide if you want to use a templating system like ‘Twig’ or use php/xhtml as a template or generate the front-end dynamically using a transformation view where the php writes out the blocks of html, CSS, and data.
[/LIST]I hope this helps,
Steve

Hi Steve,

Thanks for getting back! I will most likely be hiring someone to do this project for me.

I really like the idea of using cue cards to manage the flow and interaction for this project. :slight_smile:

My main concerns for the websites in addition to functionality would definitely be SEO and security.

I see that you recommend the Symfony framework, how does it compare with other CMS like drupal, joomla and concrete5 for the creation of my new website. Which platform do you think is more suitable and would best meet my needs of functionality, SEO and security.

Your insights are greatly appreciated!

Thanks!

Good plan.

This will help all round, and should end up in reduce dev costs if you get it right (or even any where near right)

A CMS can be built on top of a Framework.

(reminds me of a favourite nautical sayings “Whats the difference between a boat and a ship? You can put a boat on a ship - but you cant put a ship on a boat”)

Hi Cups,

When you say building a CMS on top of a Framework, do you mean a custom CMS or that I can use Drupal on top of symfony framework?

BTW, anyone has an example or can point me to the right way of writing a cue card for a developer?

Hi jerrymarketing,

Like Cups eluded to

This will help all round, and should end up in reduce dev costs if you get it right (or even any where near right)
You don’t need to nessasarily be as formal as some of the CRC process tend to be. I suggest this as it is a non-technical way to describe and easily change the relationships of your core application functionality.

Here is a good link for the ‘formal way’: [http://www.opfro.org and here is one for a less formal way http://www.agilemodeling.com/artifacts/crcModel.htm](http:// www.opfro.org/index.html?Components/WorkProducts/DesignSet/ClassResponsibilityCollaboratorCard/ClassResponsibilityCollaboratorCard.html~Contents)

You may want to start the Cue cards on your own, but I would recommend that you and your developer work through this at a somewhat early stage.

Frameworks don’t provide front-end behavior like a CMS will. Instead they allow things that typically needs to be written, like authentication, routing, database (ORM) handling, separation of responsibilities. and even things like server-side validation. A CMS typically has plugins and modules that less technical people can install and configure to provide functionality although something like Wordpress is set-up more for blogging; you can do a non-blogging application, it is just not ideal in regards to what you are doing. In MHO Drupal is a bit of a tougher animal to tame than WordPress as it is more of a cross between a framework and a front-end CMS so you have to think about more low level details.

Read about Symphony here http://www.symfony-project.org/

Hope this helps,
Steve

Hey Steve,

Thanks for getting back once again.

To be honest i’m really not a technical person when it comes to web programming and development, hence im going to hire someone to do it for me.

My concern is really the ease of use once the website is up and am actually favoring CMS more than a framework which you recommend.

Just curious, would you still recommend symfony to a non-technical person like me?

Thanks for the help thus far!

Hi jerrymarketing,

I really do think that the functionality you originally described does not fit a CMS. The idea is, once your developer builds the site then you will have whatever administration and plugin features your developer and you create. I suggest a framework (like Symphony), because it gives you a bench-mark for hiring a developer, you can ask for an ‘Experienced Symphony’ developer and know that you can trust the framework they are going to use. This may not be the same scenario if your developer is using a custom framework.

It sound like your worried about getting good SEO and using plugins to help with this. Quite frankly if your developer is worth their salt then they will know how to build a page so that it maximizes robot indexing and it is up to you to make your content worth indexing; the CMS plugins you find try to do this for you, but generally are used to mask the inadequacies of their template design; if it is done the right way first then you don’t need it.

No matter if you go for a CMS, a framework, or a custom solution, you will get to know what you need to maximize the effectiveness of your site. If you focus on it and find that you are not getting the traffic or referrals then you will need to work to get these. Part of the time you will work with the developer to try to ‘tune’ the site, but more often it is about putting quality content and then making sure people find out about it maybe through blogs, twitter, facebook…

Regards,
Steve

Thanks Steve. That was very insightful.

I never heard about Symphony before but will definitely be reading more about it now. :slight_smile: