alexmerren / tiktok-microservices

A collection of microservices for the ECM3408 Enterprise Computing module

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TikTok Microservices

tiktok logo

This repository contains the coursework for the module ECM3408 (Enterprise Computing). It contains three microservices:

  • tracks - A microservice that controls access to a tracks database, consisting of an ID (track name) and Audio (base64 encoded .wav file);

  • search - A service that contains a client for AudD, a music recognition software similar to Shazam;

  • cooltown - A "facade" service that uses the other two microservices to request a base64 encoded audio file of a hummed tune, and responds with a base64 encoded audio file of the song in question.

Deployment

From the repository directory, you can run the following:

(cd addison/tracks && go run main.go) & \
(cd addison/search && go run main.go) & \
(cd addison/cooltown && go run main.go) &

Testing

To test these service, the database MUST be empty prior to running. To test, run the following commands in order:

rm addison/tracks/tracks.db
(cd addison/tracks && go run main.go) & \
(cd addison/search && go run main.go) & \
(cd addison/cooltown && go run main.go) & 
(cd testing && python3 e2e_test.py)

About

A collection of microservices for the ECM3408 Enterprise Computing module


Languages

Language:Go 62.9%Language:Python 33.4%Language:Shell 3.7%