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

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).






تعليقات

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

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 

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...

Become a 3D animation artist

There are really two parts to becoming an animator. For lack of a more elegant way to put it, there's the  computer  part and the  art  part. The computer part is fairly easy to learn: there is a lot of software to get used to, but this mostly requires patience and willingness to experiment.  The usual standard for professional animators is  Autodesk Maya , which you can download for free if you're a student (An on-going professional license is pretty expensive -- most of the times those are sold directly to studios rather than to individuals.).    There several free or low-cost competing products that work on the same basic principles, for example  Source Filmmaker ,  Hash Animation Master,  and  Blender  -- there are of course many differences in detail but all of these work use the same basic concepts.   There are pretty good online resources for all of them, but nothing is as important as time: i...