Skip to content

Take home challenge for Haraj Solution Engineer candidates

Notifications You must be signed in to change notification settings

fatadz/chirpbird

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

ChirpBird

Welcome to Haraj take home challenge!

In this challenge you will be assigned to help fictional startup called ChirpBird to create their instant messaging platform. Basically they want to create platform similar like Facebook Messenger, WhatsApp, or Telegram.

ChirpBird have vision to make it easy for people around the world to stay connected. It is your job to make that happen through your system. 😁

Requirements

You need to create system with client-server architecture. For the server you need to develop it using Go. As for the client, you just need to create a web app (you could use whatever tools or framework to create it).

The system needs to be:

  1. Capable of delivering message to client instantly through Websocket
  2. Capable of delivering text message
  3. Capable of hosting P2P & Group chat
  4. Horizontally scalable
  5. Resilient from failure (since the system will be distributed, there should be tons of potential failures)

Deployment

It is not mandatory to deploy your system on public. However if you decided to do so, it would be very great.

At the very least you need to deploy your system using docker-compose locally.

Evaluation

  1. System design
  2. Project documentation (any docs that help people understand your project better)
    • API documentation
    • Architecture diagram
    • DB schema
    • Class diagram
    • Failure handling documentation
    • etc...
  3. System fail safe strategies
  4. Code readibility, cleanliness, & testability
  5. UI comfortability (good UX)
  6. Deployment strategy (bonus)

Submission

  1. Fork this repo.
  2. After you finish creating your changes, submit the link of your fork along with your CV & cover letter to this page.
  3. In your cover letter, share with us what changes you have made and what further changes you would prioritize if you had more time.

Deadline

There is no exact deadline date for this project. The only deadline is when the vacancy has been closed. We plan to open the vacancy for the next 3 months (it was first published on November 15, 2021).

So feel free to take your time.

Questions

Got any questions? Feel free to open issues.

About

Take home challenge for Haraj Solution Engineer candidates

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published