Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
aymericbeaumet committed Nov 18, 2023
1 parent eb3a7eb commit 4d214b9
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 20 deletions.
25 changes: 13 additions & 12 deletions backend/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,43 +15,44 @@ messaging app, and the kind of technical challenges we face and care about. We
know time is precious, and we are expecting you to spend no more than 48 hours
on this.

## Summary
## Instructions

You are tasked with the implementation of the backend of a messaging app that
You are tasked with the implementation of the backend for a messaging app that
allows users to send and receive messages in private 1:1 chats.

The only constraint you are given is that you must use Go. For the rest, you are
free to choose your data layer, network protocol, and design your API as you see
fit. You are purposefully being given a lot of freedom here, and you will not be
judged on these decisions alone. But we are expecting you to understand the
You are being given one constraint: you must use Go. For the rest, you are free
to choose your data layer, network protocol, and design your API as you see fit.
You are purposefully being given a lot of freedom here, and you will not be
judged on these decisions alone, but we are expecting you to understand the
trade-offs you make.

## Requirements

What are we expecting you to build?

- [ ] Users should be able to authenticate with their phone numbers
- [ ] Users should be able to list all their ongoing chats
- [ ] Users should be able receive messages from other users
- [ ] Users should be able to send messages to other users

## Bonus

Some topics to look at if you are looking for ideas to dive deeper:
Some topics to look at to dive deeper:

- [ ] Users should be able to authenticate with their email address
- [ ] Write tests that assert the functional scope of your server
- [ ] Add support for SMS forwarding to send the messages to the users phone numbers
- [ ] Add support for Email forwarding to send the messages to the users email addresses
- [ ] Add an idempotency mecanism for mutable requests
- [ ] Add support for SMS forwarding to relay the messages to the users phone numbers
- [ ] Add support for Email forwarding to relay the messages to the users email addresses
- [ ] Make the backend idempotent in regards to what you receive
- [ ] Expose the relevant endpoints to add support for a read/unread message status
- [ ] Add support for a read/unread message status
- [ ] Users should be able to receive messages as they are sent

## What we look at

We know it's a short amount of time, and you will have to prioritize what you
spend time on. A few things that are important for us and that will be
considered during the review:
- collaboration: is the code easy to read, maintain, and evolve?
- features: what did you prioritize to maximize your impact?
- testability: is the code tested or easily testable?
- documentation: is the readme clear? are important parts of the code documented? can we follow your thought process with your commits?

Expand Down
16 changes: 8 additions & 8 deletions ios/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ messaging app, and the kind of technical challenges we face and care about. We
know time is precious, and we are expecting you to spend no more than 48 hours
on this.

## Summary
## Instructions

You are tasked with the implementation of a messaging app that allows to send
and receive messages with several bots, each in their own chat.
Expand All @@ -35,7 +35,7 @@ What are we expecting you to build?

## Bonus

Some topics to look at if you are looking for ideas to dive deeper:
Some topics to look at to dive deeper:

- [ ] Make the app work offline (both for app state and sending)
- [ ] Make the app resilient to bad network conditions (retries & timeouts)
Expand All @@ -58,11 +58,11 @@ receive the Figma link along with the challenge instructions.
## Challenge Review

We know it's a short amount of time, and you will have to prioritize what you
spend time on. A few things that are important for us and that we will consider
during the review:
- structure: is the code easy to maintain and easy to evolve?
- robustness: is the code tested (or testable, we don't expect 100% code
coverage here)
- documentation: is the readme clear and are important parts of the code documented?
spend time on. A few things that are important for us and that will be
considered during the review:
- collaboration: is the code easy to read, maintain, and evolve?
- features: what did you prioritize to maximize your impact?
- testability: is the code tested or easily testable?
- documentation: is the readme clear? are important parts of the code documented? can we follow your thought process with your commits?

Good luck, and enjoy!

0 comments on commit 4d214b9

Please sign in to comment.