This repository has been archived by the owner on Apr 28, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtask.txt
49 lines (42 loc) · 1.97 KB
/
task.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Python developer
Object of this task is to create a simple REST API based social network in Django, and
create a bot which will demonstrate functionalities of the system according to defined rules.
Social Network
Basic models:
● User
● Post (always made by a user)
Basic features:
● user signup
● user login
● post creation
● post like
● post unlike
For User and Post objects, candidate is free to define attributes as they see fit.
Requirements:
● Token authentication (JWT is prefered)
● use Django with any other Django batteries, databases etc.
Optional (will be a plus):
● use clearbit.com/enrichment for getting additional data for the user on signup
● use emailhunter.co for verifying email existence on signup
Automated bot
This bot should read rules from a config file (in any format chosen by the candidate), but
should have following fields (all integers, candidate can rename as they see fit):
● number_of_users
● max_posts_per_user
● max_likes_per_user
Bot should read the configuration and create this activity:
● signup users (number provided in config)
● each user creates random number of posts with any content (up to max_posts_per_user)
● After creating the signup and posting activity, posts should be liked randomly, posts
can be liked multiple times
Notes
● emailhunter and clearbit have either free pricing plans or free trial, the candidate can
use their own account if he would like implement the functionality
● visual aspect of the project is not important, the candidate can create a frontend for
viewing the result, but it is not necessary (will be a plus). Clean and usable REST
API is important
● the project is not defined in detail, the candidate should use their best judgment for
every non-specified requirements (including chosen tech, third party apps, etc),
however
● every decision must be explained and backed by arguments in the interview
● Result should be sent by providing a Git url. This is a mandatory requirement.