التخطي إلى المحتوى الرئيسي

How you had to build a website like GrubHub.com

Build a website like GrubHub.com



Just built a listing service with a small team. Here's how we did it:

1. A fast server with a good CDN (content distribution network). Amazon web services is great for this. 

2. Outside API's or places where you can source data on restaurants (factual is good). May also need scrapers to scrape information from sites like yelp. See: Darktex/YelpScraper

3. Database that is designed to store lots of relational info. Within that DB you'll also need: A table for restaurant info with columns for: price, hours, type of food, etc.; A table for user info with columns for: Name, payment info, previous orders, etc.; and A table for UGC with columns relating to: reviews, photos, ratings, etc. You will probably want to moderate these tables so be sure to design the info flow of your DB carefully, such that nothing is out of your control.  (Sql, MySql are good for relational sets of data and are user friendly)

4. Layers of security. Since the site will need to contain valuable personal information re: payments, this site should be protected by every firewall possible. I believe the permit for handling credit cards directly these days costs about ~250k so try to circumvent that by charging directly to merchants. 

5. A client-side interface for communicating with restaurants. Unlike the user interface, this client interface will allow merchants to toggle their preferences for your service. This, I would make with web programming languages. Doesn't need to be pretty.

6. A user interface which allows users to find all the places you have aggregated and to place orders. This, I would also make with web programming languages. HAs got to be flawless. 

All in all, this is a rough idea but should give you the gist. Basically, if you are starting a project like this from scratch, you probably have limited funding. If you have limited funding, you should probably start with a web app and use services like phone gap, or appcelerator Titanium (free!) to deploy to mobile. 

You would basically need to hire three techies:

1. Back-end programmer who knows: Java, objective C, C++, python, php, .js, json, etc.

2. System Admin who knows: http and httaccess. Server infrastructure and all server-related issues such as CDN and site security. 

3. A talented front end developer who knows: html, css, js, query, xml, css, AND graphic design: PS + Illustrator. 

Re: Grub Hub .com. Looks like the site is programed primarily with Java Script and libraries like sizzle.js and jQuery, which surprises me because the interface functions as smooth as one's that are built with ruby (github, groupon, living social) and is fast like sites that are built with python (google, youtube) and php (Facebook).






تعليقات

المشاركات الشائعة من هذه المدونة

تصميم الالعاب الالكترونية

100 مليار دولار هو حجم وناتج تجارة وصناعة سوق الألعاب الالكترونية دوليا، ليصبح هذا السوق في أهمية أسواق أي سلع استراتيجية أخرى .. مع انتشار الهواتف الذكية بصورة كبيرة و انتشار العاب و تطبيقات الهواتف الذكية اصبح هناك العديد من   الاشخاص يهتمون بتصميم العاب الاندرويد و الايفون  لذلك تقوم شركة لودكس بتصميم العاب اندرويد وايفون والالعاب الاونلاين والعاب الديسك توب بكل احترافية وبتصميمات رائعة وجودة عالية .    Game Developing           

the best way to learn how to draw

Drawing is a skill which develops as you practice. You're not alone when you say that you're terrible at drawing; all the great artists have started drawing with  stick figures  at some point in their life. Figures like this one - ​The reason why they went ahead from these so called " stick figures"  to something much more, is that they had an insatiable desire within them to draw even better, every time they put their pencil on paper. This shear fact separated them from the rest, and that's the only reason why they were successful in honing their skill to reach where they reached later on in their respective lives. First and foremost, the one great thing that's in your favor is- the fact that you are dedicated to improve your drawing. I say this because it seems that way, as you are asking this question. And this is really important because any art form can not be learned just for the sake of it; there has to be passion, interest, curiosity, and ded...

What is a KPI - A Key Performance Indicator Meaning

A  Key Performance Indicator  is a measurable value that demonstrates how effectively a company is achieving key business objectives. Organizations use KPIs at multiple levels to evaluate their success at reaching targets. High-level KPIs may focus on the overall performance of the enterprise, while low-level KPIs may focus on processes in departments                           such as sales, marketing or a call center.  lodex solutions