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

SmallWebApp

Playeholderimages are randomly taken from this unsplash collection.