Settings

Theme

ASK HN: How would you do project planning for a YCombinator news clone?

1 points by Jgoure 7 years ago · 1 comment · 2 min read

Reader

I have started project planning a clone of ycombinator and I am running into a problem. This is my first large web app. The other web apps I have built we're toy projects to learn API's and frameworks.

I am going with a MVC design pattern. For this project I've set down for the first time and written out all of the features of the website. Then I began to document each models structure. I've written out all of the properties for the models. Next I will start designing the views.

The question I have is what kind of model structure would you use? I have 3 models the user, the submissions and the comments.

Each model seems so huge though.

I've studied iOS design and I feel that it would be easier and it makes more since to design and build things the way iOS apps work. For example, in an iOS app, if a user clicks on a submission in iOS, the submission detail view would be populated from the model data of the clicked submission.

However from my understanding of websites, building each site from the model data each time a link is clicked would be a huge waste of server resources. Also when web crawlers build links each site needs to be server side rendered. So the server must store 100s and 1000s of sites.

Can you please recommend any further reading on the subject of web app structure and project planning?

mtmail 7 years ago

Less on the app structure, but more specific to hackernews: the source code is open https://news.ycombinator.com/item?id=14371189, more pointers in https://news.ycombinator.com/item?id=14371821

The source code of https://lobste.rs/ is also open source and from a feature point-of-view pretty similar. https://github.com/lobsters/lobsters

> building each site from the model data each time a link is clicked would be a huge waste of server resources

It's typically still done. Forums are 90+% read, little write and caching the rendering output gives a huge boost.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection