Coding Assessment

Project instructions

Your task is to build a simple API that interacts with a public news API to fetch articles. Use .NET 8 with C# for the backend. Specifically, integrate the GNews API and develop your own API service that interacts with it to retrieve articles. Additionally, provide basic documentation for your API.

Core Requirements

Your API should have the following basic methods, ordered by priority:

  • Fetch N news articles

  • Search articles by keywords in the title, description, or content

  • Find a news article by date

Containerize the project using Docker so that it can be started with a single CLI command.

Optional (Bonus)

  • CI/CD

    • Set up a basic GitHub Actions workflow to build and publish the application.

How to submit

You can submit your completed project in one of the following ways:

  1. Upload it to GitHub and send us the repository link.

  2. Send us your repository as a ZIP archive. Make sure to include the .git folder.

If necessary, provide instructions on how to run the application in your README.md.

Remarks

  • The API key for GNews API is 925d2cb933f8d012fe447aba723deef6. Be aware that you are allowed to make 100 API requests per day. If you need more, you have to obtain a personal API key.

  • For this project, it is acceptable to commit the API key along with your code.

  • Please aim to spend around 5 hours on this task. The optional bonus items are there if you want to demonstrate additional skills, but they’re not required for completion. It’s perfectly fine if not everything is fully polished. We primarily want to see how you approach the problem and your overall thought process.

For any questions, feel free to reach out via email at daniel.jovanovic@geowerkstatt.ch.