Terminé

Develop an API server that does simple "Friend Management" based on the User Stories below.

You are required to:

Deploy an instance of the API server on the public cloud or provide a 1-step command to run your API server locally, e.g. using a Makefile or Docker Compose) for us to test run the APIs

Write sufficient documentation for the APIs and explain your technical choices

User Stories

1. As a user, I need an API to create a friend connection between two email addresses.

The API should receive the following JSON request:

{

friends:

[

'andy@[login to view URL]',

'john@[login to view URL]'

]

}

The API should return the following JSON response on success:

{

"success": true

}

Please propose JSON responses for any errors that might occur.

2. As a user, I need an API to retrieve the friends list for an email address.

The API should receive the following JSON request:

{

email: 'andy@[login to view URL]'

}

The API should return the following JSON response on success:

{

"success": true,

"friends" :

[

'john@[login to view URL]'

],

"count" : 1

}

Please propose JSON responses for any errors that might occur.

3. As a user, I need an API to retrieve the common friends list between two email addresses.

The API should receive the following JSON request:

{

friends:

[

'andy@[login to view URL]',

'john@[login to view URL]'

]

}

The API should return the following JSON response on success:

{

"success": true,

"friends" :

[

'common@[login to view URL]'

],

"count" : 1

}

Please propose JSON responses for any errors that might occur.

4. As a user, I need an API to subscribe to updates from an email address.

Please note that "subscribing to updates" is NOT equivalent to "adding a friend connection".

The API should receive the following JSON request:

{

"requestor": "lisa@[login to view URL]",

"target": "john@[login to view URL]"

}

The API should return the following JSON response on success:

{

"success": true

}

Please propose JSON responses for any errors that might occur.

5. As a user, I need an API to block updates from an email address.

Suppose "andy@[login to view URL]" blocks "john@[login to view URL]":

if they are connected as friends, then "andy" will no longer receive notifications from "john"

if they are not connected as friends, then no new friends connection can be added

The API should receive the following JSON request:

{

"requestor": "andy@[login to view URL]",

"target": "john@[login to view URL]"

}

The API should return the following JSON response on success:

{

"success": true

}

Please propose JSON responses for any errors that might occur.

6. As a user, I need an API to retrieve all email addresses that can receive updates from an email address.

Eligibility for receiving updates from i.e. "john@[login to view URL]":

has not blocked updates from "john@[login to view URL]", and

at least one of the following:

has a friend connection with "john@[login to view URL]"

has subscribed to updates from "john@[login to view URL]"

has been @mentioned in the update

The API should receive the following JSON request:

{

"sender": "john@[login to view URL]",

"text": "Hello World! kate@[login to view URL]"

}

The API should return the following JSON response on success:

{

"success": true

"recipients":

[

"lisa@[login to view URL]",

"kate@[login to view URL]"

]

}

Please propose JSON responses for any errors that might occur.

Technology

You are required to use Java.

You are allowed to use any frameworks for the language.

Testing

If you write tests in your daily work, we would love to see them in this exercise too.

Compétences : Java

en voir plus : i need to develop a server based on websocket, simple order management system web based, simple cart management system, google api server gps tracking using aspnet, simple business management, gui simple school management system software, youtube api server, start develop website using cms simple, develop directory server, simple file management system php, simple project management php, simple time management excel, simple project management php script, simple project management script, simple school management programs, open source simple lead management

Concernant l'employeur :
( 0 commentaires ) Singapore, Singapore

Nº du projet : #17179018

Décerné à:

digvijay095

I have 6 years experience in building webapps using (SOAP, REST, RPC, et.c) and using popular frameworks like Spring, SpringBoot, DropWizard, EJB, etc.. I have built numerous Java-based Backend architectures, and know Plus

%selectedBids___i_sum_sub_7% %project_currencyDetails_sign_sub_8% SGD en 3 jours
(0 Commentaires)
0.0

7 freelance font une offre moyenne de $173 pour ce travail

sun0815

Hi Nice to meet you. I read your api story, ok. I'm java developer and will use httprest client. I will finish your job in 1 hour. Regards.

%bids___i_sum_sub_32% %project_currencyDetails_sign_sub_33% SGD en 1 jour
(3 Commentaires)
3.5
anuragaadi

Please concern with me before you awarded the project because may be I give u good offer. And one more thing we are best and better then everyone else, we are working on updating this and I would very much happy to pla Plus

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% SGD en 2 jours
(1 Évaluation)
1.5
crocodile305

Hi.. How are you? I saw your description carefully your project. Owing to my rich experience in API Server development , i can say i can do this perfectly. I have many top skills like CSS,HTML ,PHP , BOOTSTRAP,JA Plus

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% SGD en 3 jours
(1 Évaluation)
1.2
ashish20092009

x x x x xx x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% SGD en 3 jours
(0 Commentaires)
0.0
sowrabhnayak

I am an experienced Java developer familiar with API development. I deliver quick and quality results. Thank you

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% SGD en 2 jours
(0 Commentaires)
0.0
vishalbhanot

I have 7+ years of experience in Development I read your job descriptions carefully, I am very interesting in your job. I have developed apps such as Social networking & lifestyle(Tinder style dating, chatting, sha Plus

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% SGD en 3 jours
(0 Commentaires)
0.0