yarn # will install pkgs both frontend and backend
yarn test
yarn dev # Backend & frontend
The stack should consist of two parts - a front-end client and an API/server.
Client / Front-end
- Should be a ReactJS SPA application.
- You can use Foundation, Bootstrap or any other style framework to help you.
- We expect the application to be fully responsive.
- Should have two main states. An inactive dialler state and an active in-call state.
- A user should be able to dial a number (format irrelevant, think of it as an ID -- these can be auto assigned to the clients).
- If the destination recipient is online/connected, they should receive an incoming call that they can either accept or decline.
- Accepting a call should set up an audio only WebRTC stream between the
Backend
- The backend/server should handle events between clients and act as the “middleman”.
- In terms of event implementation, it’s up to you, but we recommend using sockets.
We like things that look good but don’t go overboard with the UI design. This is more of a test of your code than your UI design skills.
We’re looking for good code quality. This means readable code, clear, concise logic and good application structure. What makes clean, production-ready code? Think of these things and make sure you try and use them in your solution.
Tests. You don’t need 100% code coverage, but we expect at least one useful front-end and one useful back-end test.