Giter Site home page Giter Site logo

socialnetwork's Introduction

Python/Django Chanllenge

A solved challange.

Overview

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:
  • use emailhunter.co for verifying email existence on signup
  • use clearbit.com/enrichment for getting additional data for the user on signup
  • use JWT for user authentication
  • use Django with any other apps, databases etc.

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 using following rules:
  • next user to perform a like is the user who has most posts and has not reached max likes
  • user performs “like” activity until he reaches max likes
  • user can only like random posts from users who have at least one post with 0 likes
  • if there is no posts with 0 likes, bot stops
  • users cannot like their own posts
  • posts can be liked multiple times, but one user can like a certain post only once

Notes

  • emailhunter and clearbit have either free pricing plans or free trial, the candidate can use their own account
  • visual aspect of the project is not important, the candidate can create a frontend for viewing the result, but it is not necessary. 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.

socialnetwork's People

Contributors

abdulwahid24 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.