Thoughts is a post-sharing application where users can create, browse, like and repost posts and follow other users.
| Service | Language | Description |
|---|---|---|
| apigateway | Go | API Gateway between the frontend and the backend services. |
| authservice | Python | Authentication service for creation and validation of sessions. |
| database | SQL | PostgreSQL database with tables, relationships and functions. |
| frontend | JavaScript | React frontend of the app. |
| postservice | Go | Service for creation, liking, reposting and fetching of posts. |
| userservice | Python | Service for creation, following and fetching of users. |
Clone the repository to your filesystem
git clone [email protected]:robbdimitrov/thoughts.git
cd thoughtsBuild all the images
makeOr build specific images
make apigateway
make authservice
make database
make frontend
make postservice
make userserviceCreate namespace for the k8s resources
kubectl create namespace thoughtsCreate deployments and volumes
kubectl apply -f ./k8s -n thoughtsEnable port forwarding
kubectl port-forward service/frontend 8080:8080 -n thoughtsOpen the frontend here.
Delete all resources
kubectl delete -f ./k8s -n thoughtsDelete the namespace
kubectl delete namespace thoughtsThe API documentation is available here.
Licensed under the MIT License.