Progress - AljoshaVieth/SmallSocialNetwork GitHub Wiki

00 The idea

The aim is to highlight and get to know different technologies and combine them. I have settled on the idea of a prototype of a small social network. At the moment, however, it's not planned that many users will ever actively use it. It is more intended to be an application example to highlight the different technologies and their combination.

The base

At the heart of the project are several microservices with Ktor, which manage data in MongoDB and respond to requests from the clients. Both the microservices and the MongoDB are to be located in Docker containers.

The client

For the very first testing, Postman will be used. Later, a small web frontend will be developed, for which picnic.css serves as a styling framework. However, the focus will ultimately be on an Android app as a client.

01 First step: the birth of content-service

As a first step, I created the basics of the heart of the project, the so-called content-service / user-service, which is a microservice created with Ktor. Hereby, I used Kotlin to implement the routing-logic and Java to implement the database-logic with MongoDB.

The first version of content-service includes 4 endpoints which allow to:

Feature URL
create a User POST http://host:port/user?Content-Type=application/json
delete a User DELETE http://host:port/user/_{id}
get a User GET http://host:port/user/{id}
get all Users GET http://host:port/user

02 Testing of content-service with Postman and a SmallWebApp

To test the content-service, I created a minimalistic web app that displays all users. The web app is written in TypeScript and uses picnic.css for styling.

Testing with Postman

Postman Test 1

SmallWebApp

SmallWebApp v1

Playeholderimages are randomly taken from this unsplash collection.