https://github.com/biancahpp/aircall
https://github.com/biancahpp/aircall
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/biancahpp/aircall
- Owner: biancahpp
- Created: 2021-09-21T20:51:54.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-09-23T18:28:41.000Z (over 3 years ago)
- Last Synced: 2025-01-23T01:35:24.475Z (4 months ago)
- Language: JavaScript
- Size: 1.14 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Summary
The goal of this test is to make you code a small ReactJS app. We have prepared a skeleton app for you, but please change whatever you want (CSS files, HTML structure, JS structure, etc).
The app will have two different components:
- **Activity Feed** - simple list of calls
- **Activity Detail** - detail of a call
- **Archive** - the final user should be able to archive a call. The call will no longer be displayed on the Activity Feed.Show us what you can do in 24 hours. You will be assessed on the following parameters:
- Focus on design (Pay attention to the UI/UX and transitions)
- Best React Practices
- Code Readability and MaintainabilityAfter you're done with the assignment, please submit a link to the **GitHub/Bitbucket repository** (make sure it's public) with your code **AND** a deployment link where our recruiters can interact with the live version. You can use freely available tools like **Netlify, Vercel, Heroku, etc** to deploy your React application.
**Note:** Submissions without a valid repository and deployment link will be removed from any further consideration.
To give you an idea, here's what our app looks like:

## Installation
We're using [yarn](https://yarnpkg.com) here:
```
yarn install
yarn start
```## API documentation
### Routes
Here is the API address: https://aircall-job.herokuapp.com.
As you can see, it's hosted on a free Heroku server, which means that the first time you will fetch the API, it will take few seconds to answer.
- **GET** - https://aircall-job.herokuapp.com/activities: get calls to display in the Activity Feed
- **GET** - https://aircall-job.herokuapp.com/activities/:id: retrieve a specific call details
- **POST** - https://aircall-job.herokuapp.com/activities/:id: update a call. The only field updatable is `is_archived (bool)`. You'll need to send a JSON in the request body:
```
{
is_archived: true
}
```
- **GET** - https://aircall-job.herokuapp.com/reset: Reset all calls to initial state (usefull if you archived all calls).### Call object
- **id** - unique ID of call
- **created_at** - creation date
- **direction** - `inbound` or `outbound` call
- **from** - caller's number
- **to** - callee's number
- **via** - Aircall number used for the call
- **duration** - duration of a call (in seconds)
- **is_archived** - call is archived or not
- **call_type** - can be a `missed`, `answered` or `voicemail` call.