Hello Friends, I work as a Cakephp Developer in Eternal Web Pvt. Ltd. I want to share the experience of my first MVC project. It was a project of Real Estate Property portal development. The technology used to develop it was CakePHP MVC (Model, View and Controller).
Let me discuss the challenges of this project :
- The old property portal was in ASP.net which had to be moved into the latest CakePHP Framework which is open source and Improves the bootstrapping process to allow more developer control and better website performance.
- The flow of the old property portal was complex, not user friendly and non-responsive at the same time, The client wanted to make new portal which should be user friendly, fully responsive and faster compared to the old property portal and the flow of the property portal should be easy to understand. The main challenge was to get all the features in MVC.
- The database of the old property portal was in MSSQL and needed to be converted into MYSQL as CakePHP supports MYSQL database. As the old database was in MSSQL it was quite hard for me to convert it into MYSQL and it was also not useful in CakePHP Framework. The Client also wanted to move all the Data of the old portal into the new one with all the users and their related details without any changes.
Here is the detailed solution which I provided to the client :
- The database of the old property portal was in MSSQL and needed to be moved to the new portal. The old database had around 4000 properties, with its description, images etc data. The users’ and their related data were also needed to be moved to the new portal.
- So I began the R&D of some related property portals, and checked their basic features and functionalities which was quite helpful in my project.
- It was quite hard for me to actually convert the data from MSSQL to MYSQL. As I did not have any converter tool which can easily convert the database of the MSSQL into CakePHP require MYSQL database, and it was a necessary process to follow to convert the database MYSQL to MSSQL.
- So I started creating manual queries which was quite helpful in converting the MSSQL data into MYSQL and which I could easily insert into the MYSQL database. It was a tedious process to do but in the end I was able to manually convert the database from the MSSQL database to MYSQL database.
- Me and the design team did the required changes in the web page structures to make it a responsive and attractive.
Let me now discuss the features of this project :
The Users once registered can login to the website can do the following things from the home page:
- They can see the featured properties listing.
- They can filter out the property based on their requirements.
- They can search any property based on the keywords they insert in the search box provided.
- They can see the details of the featured properties once they click on the details button provided just below the property detail.
- They can see the prices of the featured properties.
- They can contact the rental experts of the portal.
- They can pay their rent online with just one click.
- They can apply online for the properties in which they are interested.
- The users can view all the properties once they click on the “View All” button.
- The users can read the testimonials of all the other users who have bought/rented their properties through the property portal.
The users can search any property by following things :
- Property Type
- Based on the price range(Min and Max prices)
- No.of. Bedrooms, Bathrooms and Garages
- Types of Basements
- The users can search any property based on the keywords. The users can enter the keywords in the search box provided and they will be able to see the appropriate property having the specific words.)
On the property details page the users will see the following things as mentioned below :
- Details of the specific property the users have selected.
- Location of the property on the Google Map.
- Images of the specific property.
- The users can apply online for a rented property they are interested in.
- The users can Inquire about a specific property from the administrator.
- The users can email the property details to a friend and ask for their review regarding the property.
- Users can add the properties in their favorites list
- They can see the schedule of a property.
- If they are not happy with the prices of the rented property they can make an offer to the administrator about their price ranges through a form.
- They will also get the printed version of the property details in which they are interested.
- Description of the property the users have selected.
- Selling cost, Rent and square feet of the property which will be fixed by the admin from the back end.
The system administrator will manage the whole system. He will manage the following things :
- Admin can upload multiple images in every property.
- Admin can delete the inactive properties from the back end.
- The admin can edit the property types available
- Admin can add/edit no. of bedrooms to be displayed
- Admin can add/edit the no. of property types to be displayed.
- Admin can also select the min and max prices for the price ranges of any property,
- Admin can also add/edit the no. of bathrooms, garages and basements to be displayed in front.
- Admin can add/edit the Google maps based on the property location from the back end.
- Admin can add/edit the properties which are to be displayed in the feature list in the front end.
- Admin can also set the ordering of the images which need to be displayed in the front end.
- Admin can select the no. of images for a specific property which can be displayed in the front end.
In this whole process my team members and my manager helped me a lot. They guided me whenever I had any query regarding this project. The atmosphere in my office was quite supportive. The designers helped me with the designing issues and the experienced developers taught me various productive methods by which I was able to develop my project in the best way possible.