Amathus reads RSS feeds, transforms them into a common feed format, and exposes them behind a Web API. Written in ASP.NET Core and deployed as 3 separate Cloud Run microservices on Google Cloud.
Make sure gcloud points to the right project and you're in Amathus folder where Amathus.sln is.
(One time) Enable Google Cloud services needed:
scripts/enableBuild:
scripts/build readerDeploy a private service:
scripts/deploy reader(One time) Create a Cloud Storage bucket and a Scheduler job to invoke the service:
scripts/setup_readerBuild:
scripts/build converterDeploy a private service:
scripts/deploy converter(One time) Set converter to receive Pub/Sub messages with bucket changes:
scripts/setup_converterBuild:
scripts/build webDeploy a public service:
scripts/deploy web publicThere's a Flutter client. See README.md for details.
Inside Amathus.Reader, Amathus.Converter, or Amathus.Web folder:
dotnet runInside Amathus folder, you can build and run the image for each service. For example, for Amathus.Web:
Build image:
docker build -t amathus-web -f Amathus.Web/Dockerfile .Run image:
docker run -p 8080:8080 amathus-web