Develop an API server that does simple "Friend Management" based on the User Stories below.
$30-250 SGD
Dokončeno
Zveřejněno skoro před 6 roky
$30-250 SGD
Zaplaceno při doručení
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.
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 the importance of Modularity, Resuability, etc. which will prove to be the current major value-add to your project.
I can get this done in a very small period of time also, if necessary.
E.g.
"[login to view URL]"
Its entire Distributed Backend Architecture was built by me solo-handed.
$155 SGD v 3 dnech
0,0 (0 recenze)
0,0
0,0
7 freelanceři nabízejí v průměru $173 SGD za tuto práci
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 place my bid on your project and I think all your requirement meets with my skill and expertise level. First I would like to introduce myself as a professional freelancer and director of a small web design company. I have checked detail your requirements and ready to start right now. It can be done perfectly... I am available with Skype, yahoo messenger, MSN, Gtalk and phone. Send me a message to start working with you, waiting for reply. Anurag Saxena
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,JAVASCRIPT,AJAX and so on.
If you would like to choos me , i do my best.
Thanks.