An application that the forensics team exposes to the detective squad to assist

Overview

Forensics API

The forensics-api is an application that the forensics team exposes to the detective squad to assist with the case of the witch who is kidnapping cats in the local area. The application provides them with two services.

  1. Provides data of the previous movements of the witch
  2. Validates a guess of the final location of the witch, where the detective squad are only allowed five guesses.

Request validation

Each request must include an email address to prove that the individual making the request is authorized. A list of authorized email address is stored in the application.yml file.

Entry points

The api has two endpoints:

  • GET directions - returns a json payload of recent movements of the witch with a starting point.
  • GET location - allows the detective squad to guess the end location of the Witch and will validate if the guess is correct. The detective squad will only be able to have 5 guesses of the witches final location.

Testing

When running, we are ignoring running the tests in the graldew build due to technical issues when running unit tests on my IDE.

Running locally

Run the script ./run-local.sh to build a jar of the application and start running it locally. The application will be exposes on port 8080

  • Call directions endpoint localhost:8080/api/{email}/directions
  • Call location endpoint localhost:8080/api/{email}/location/{x}/{y}

See examples below of using Postman to call the directions and location endpoint with an expected response. Directions Location

Future developments

Rumors that the witch is recruiting additional witches to expand her operation of cat kidnapping. The forensics team would like to allow more detective units from across the country to access the application. They have decided it would be best to package the application into a container where the image can accessed through the Docker Hub.

To build docker image, run script ./docker-build.sh. This will build a docker image of the application locally and then display all local docker images. Then apply the following commands to push to a remote repository for others to access:

  • docker login
  • docker tag <image-id> <docker-username>/forensics-api
  • docker push <docker-username>/forensics-api
You might also like...
📒 NotyKT is a complete 💎Kotlin-stack (Backend + Android) 📱 application built to demonstrate the use of Modern development tools with best practices implementation🦸.
📒 NotyKT is a complete 💎Kotlin-stack (Backend + Android) 📱 application built to demonstrate the use of Modern development tools with best practices implementation🦸.

NotyKT 🖊️ NotyKT is the complete Kotlin-stack note taking 🖊️ application 📱 built to demonstrate a use of Kotlin programming language in server-side

❤️ A sample Marvel heroes application based on MVVM (ViewModel, Coroutines, LiveData, Room, Repository, Koin)  architecture.
❤️ A sample Marvel heroes application based on MVVM (ViewModel, Coroutines, LiveData, Room, Repository, Koin) architecture.

MarvelHeroes MarvelHeroes is a demo application based on modern Android application tech-stacks and MVVM architecture. Fetching data from the network

 🍲Foodium is a sample food blog Android application 📱 built to demonstrate the use of Modern Android development tools - (Kotlin, Coroutines, Flow, Dagger 2/Hilt, Architecture Components, MVVM, Room, Retrofit, Moshi, Material Components).
Kotlin TodoMVC – full-stack Kotlin application demo

Kotlin full stack TodoMVC This project is an example implementation of the TodoMVC app written in Kotlin. More specifically, it's the Kotlin port of t

An Intentionally designed Vulnerable Android Application built in Kotlin.

📱 InsecureShop InsecureShop is an Android application that is designed to be intentionally vulnerable. The aim of creating this app is to teach devel

Collection of Rewrite Recipes pertaining to the JHipster web application & microservice development platform
Collection of Rewrite Recipes pertaining to the JHipster web application & microservice development platform

Apply JHipster best practices automatically What is this? This project implements a Rewrite module that applies best practices and migrations pertaini

This is a simple Rest Api for todo application

This is a simple Rest Api for todo application , where users do signup, login and add their respective todos. So this api is fully based on Ktor framework.

A small application for working with the Github API, made as a practical task. GeekBrains, course of study: Popular libraries: RxJava 2, Dagger 2, Moxie.
A small application for working with the Github API, made as a practical task. GeekBrains, course of study: Popular libraries: RxJava 2, Dagger 2, Moxie.

GeekBrains_Course_AndroidOnKotlin_HW_My_Movie Домашнее задание к занятию №2-6 Студента GeekBrains Веремеенко Дмитрия Факультет: Android-разработки Кур

🔥The Android Startup library provides a straightforward, performant way to initialize components at the application startup. Both library developers and app developers can use Android Startup to streamline startup sequences and explicitly set the order of initialization.
🔥The Android Startup library provides a straightforward, performant way to initialize components at the application startup. Both library developers and app developers can use Android Startup to streamline startup sequences and explicitly set the order of initialization.

🔥The Android Startup library provides a straightforward, performant way to initialize components at the application startup. Both library developers and app developers can use Android Startup to streamline startup sequences and explicitly set the order of initialization.

Owner
Jasper
trying my best to become a software master
Jasper
Reach plc. Apps Team Exercise (Junior)Reach plc. Apps Team Exercise (Junior)

Reach plc. Apps Team Exercise (Junior) Description One of our magazines is looking for new sources of revenues and starts a few partnerships with beau

null 0 Nov 9, 2021
From 8-10 October 2021 there was VTB MORE tech 3.0, where the DUCK team presented their solution.

InvestmentGuideVTB Ссылка на репозиторий с бэкендом приложения: https://github.com/disarrik/vtbBackend Процесс сегментация происходит в отдельном окне

Denis 1 Nov 8, 2021
Team management service is a production ready and fully tested service that can be used as a template for a microservices development.

team-mgmt-service Description Team management service is a production ready and fully tested service that can be used as a template for a microservice

Albert Llousas Ortiz 18 Oct 10, 2022
Copy of privat enterprice repo of project made by team 37 in course in2000 spring 2021, University of Oslo

Njord - leeway simulation app in2000-team37-njord Copy of private enterprise repo of project made by team 37 in course in2000 spring 2021, University

Petter Johan Sandvand 0 Nov 25, 2021
Collection of JVM library logic that the Sirloin software development team is currently using

Collection of JVM library logic that the Sirloin software development team is currently using

Sirloin Dev 4 May 10, 2022
Go Outside is an augmented reality app designed for our team's Software Engineering UI/UX class

Go Outside Go Outside is an augmented reality app designed for our team's Software Engineering UI/UX class. This app serves as a PROTOTYPE to demonstr

Kris 4 Jul 28, 2022
Android application compatible with ZX2C4's Pass command line application

Password Store Download Documentation We're in the process of rewriting our documentation from scratch, and the work-in-progress state can be seen her

Android Password Store 2.2k Dec 29, 2022
This is an example of a simple application with layered software base on clean-architecture as application architecture and mvvm as presentation architecture

This is an example of a simple application with layered software base on clean-architecture as application architecture and mvvm as presentation archi

null 3 Jul 2, 2021
A simple Android application to store daily notes in the internal database of the application

Simple Note App Note App is a simple Android application to store daily notes in the internal database of the application and can store an image or a

Heba Elsaid 5 Jun 3, 2022
:blue_book: A diary application optimized for user experience.

Easy Diary README of Korean(한국어) This is a diary application optimized for user experience. Demo videos Basic function preview Support Features 01. Wr

Bulbasaur 316 Jan 1, 2023