Skip to content

A back end application that allows you to find users that are members of multiple communities on a social network website. Currently only VK is supported.

Notifications You must be signed in to change notification settings

dazzbourgh/community-intersection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Community Intersection

A back end application that allows you to find users that are members of multiple communities on a social network website. Currently only VK is supported.

Tech

Kotlin based, Spring WebFlux + Coroutines. VK API is used alongside stored procedures that are called from this app.

UI

For UI and an example please refer to UI project page.

Run the app

####From IDE To run from IDE, run CommunityScannerApplication class with the following JVM args:

-Dspring.profiles.active=local -Dclient_id=___ -Dclient_secret=___

For actual values of client_id & client_secret refer to repo owner.

####As docker container Run the following command from app source root to build an image:

./gradlew jib

Use the same JVM args on container startup:

-Dspring.profiles.active=local -Dclient_id=___ -Dclient_secret=___

Implementation details

PeopleController provides API for client application to get a stream (list) of users that are subscribed to all communities specified in the Request object, passed as body in POST request.

Since VK doesn't allow sending request more than 3 times a second, DelayingRequestSender is a service that queues all the requests from this back end application to VK API and executes them after a delay if such is needed.

UserService is responsible for fetching information about VK users.

About

A back end application that allows you to find users that are members of multiple communities on a social network website. Currently only VK is supported.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages