TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Tech stack for Tinder-like dating app?

4 点作者 Jaxtek超过 4 年前
Hi I am a college student planning to develop a Tinder-like dating app.I have not developed any &quot;production quality&quot; applications before.What tech stack should I go with for back-end? Based on development speed,less server cost,uptime etc. I have some rough ideas.Please let me know your suggestions:<p>1.Python (Django) or golang 2.Python or Erlang for chat 3.Relational or NoSQL<p>Edit:I am not doing this project for grades.Thanks for the suggestions<p>Edit2:I want this project to be &quot;well-engineered&quot;.I want this to perform well,scale well,etc.I want to do it &quot;right&quot;.I am going to spend about an year on this project ( I could take less.But the main purpose is to learn as much as I could and to work on the best tech stack out there for this type of project).So I want the stack to be worth learning.<p>Thanks for all the suggestions

5 条评论

dane-pgp超过 4 年前
Perhaps the quickest way would be to reuse existing technology, especially one that already has an established user base. In particular, it should be possible to extend some Fediverse (ActivityPub) clients and servers to add a new type of message that represents introducing yourself to a prospective date.<p>ActivityPub is built on ActivityStreams[0], which already has a way of representing relationships[1] so it could be extended with the relation &quot;Would Like To Know&quot;[2].<p>You could take something like Mastodon and add a property to the profile data[3] so that users can state whether they are willing to receive such introductions from other users. (Users should perhaps also be able to specify a maximum number of such introductions that a user attempting to contact them can send per month, to stop people from sending out introductions to everyone that&#x27;s available).<p>Unfortunately there isn&#x27;t currently a universal search feature in Mastodon[4], but it might be possible to add that as a hack by caching all opted-in profiles on each instance.<p>[0] <a href="https:&#x2F;&#x2F;www.w3.org&#x2F;wiki&#x2F;Activity_Streams_extensions" rel="nofollow">https:&#x2F;&#x2F;www.w3.org&#x2F;wiki&#x2F;Activity_Streams_extensions</a><p>[1] <a href="https:&#x2F;&#x2F;www.w3.org&#x2F;TR&#x2F;activitystreams-vocabulary&#x2F;#connections" rel="nofollow">https:&#x2F;&#x2F;www.w3.org&#x2F;TR&#x2F;activitystreams-vocabulary&#x2F;#connection...</a><p>[2] <a href="https:&#x2F;&#x2F;vocab.org&#x2F;relationship&#x2F;#wouldLikeToKnow" rel="nofollow">https:&#x2F;&#x2F;vocab.org&#x2F;relationship&#x2F;#wouldLikeToKnow</a><p>[3] <a href="https:&#x2F;&#x2F;docs.joinmastodon.org&#x2F;spec&#x2F;activitypub&#x2F;#profile" rel="nofollow">https:&#x2F;&#x2F;docs.joinmastodon.org&#x2F;spec&#x2F;activitypub&#x2F;#profile</a><p>[4] <a href="https:&#x2F;&#x2F;github.com&#x2F;tootsuite&#x2F;mastodon&#x2F;issues&#x2F;9529" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tootsuite&#x2F;mastodon&#x2F;issues&#x2F;9529</a>
brudgers超过 4 年前
If it&#x27;s not for grades, then the choice of tech stack is pretty unimportant. The hard part of a dating app is getting people to use it. Getting the app to scale is not a technology problem. It is a sales problem.<p>The generic advice is use a technology that lets you talk to users right away.
noodlesUK超过 4 年前
Advice - if this is for a university project and you’re doing this for grades, use whatever you fancy. A good RDBMS (or even noSQL) will be just fine at any reasonable expectation of scale, unless this is for a distributed systems course.<p>I would say you’ll have a slicker UI if you’re able to separate the front end and backend and use modern tech like react or Vue.<p>If you go that route, FastAPI is a good choice for a backend, and it has friendly docs.<p>Is this solo or in a team?
评论 #25168521 未加载
fxtentacle超过 4 年前
1. golang. OkCupid is C++ for performance reasons<p>2. JavaScript + WebSockets + Go&#x2F;C server<p>3. Relational. You&#x27;ll need those unique key integer indices. Also, PostgreSql can do high-dimensional similarity matching, which you&#x27;ll need for matching profiles.<p><a href="https:&#x2F;&#x2F;stackshare.io&#x2F;okcupid&#x2F;okcupid" rel="nofollow">https:&#x2F;&#x2F;stackshare.io&#x2F;okcupid&#x2F;okcupid</a>
emteycz超过 4 年前
If I were you I wouldn&#x27;t try to put more than one technology in production for the first time. I&#x27;d recommend TypeScript and Node.JS as it has a huge ecosystem, and you&#x27;re probably going to have a web app anyways.