CooStaY is a startup app for Overseas Chinese to find homes or accommodations, as well as to search for mates in common to share their living cost at their local communities. It provides a one-stop solution for local life activities.
Use CooStaY to search for nearby houses for rent, local events, and cost-effective second-hand goods. Homeowners post their listings on CooStaY directly without the need of using 3rd-party agencies.
Find real-time local postings anywhere in the US “by” utilizing Apple Maps.
- Social Login
Authenticate with 3-rd party apps like Facebook and Wechat (the best companion for Overseas Chinese).
- Chat Rooms
Send private messages or chats to other users (using Easemob SDK).
- Notification Center
Deliver push notifications for users to receive new messages and events.
- Privacy Permission Management
Allow different user-level permission controls for personal profile views.
- Interactive Background Images
Let users view a new background image when they’ve arrived at a different city.
When we talk about the backend architecture for social apps, there are basically 5 rules that we want to be complied with. And so, this is what we did:
- Speed: We used the powerful platform Node.js to implement RESTful API service. It’s fast compared to a normal API, which at least 500 rps for a single core and higher throughput would be required on a distributed system.
- Robustness: The key to a stable API service is that you always want to reduce errors that might have been caused by unexpected user’s actions as much as possible. We cared so much about the overall robustness and implemented global error codes (400 / 500) and specific messages for each error. Users will get the exact correct message upon an unsuccessful request.
- Friendly APIs: We adhered to RESTful guidelines to apply consistent, meaningful and high quality APIs that work for every developer.
- High Availability: We integrated Docker deeply into our server-side products. By using Docker as our backend service containers, we would be able to scale out in a matter of seconds by executing just a single command. This also gives the ability to integrate with the super cool cluster management tool Docker Swarm to make sure we can scale up easily to handle thousands and thousands of users.
- Security: We totally understand how it feels like when your account has been compromised. Tons of private data get stolen everyday. We hate malicious hackers, too! That’s why we used the most secure password encryption method: bcrypt (learn more) for this project and across our products. We also ensure our customers to enable SSL before they release their apps to public.