These are my JetBrains Academy projects from Kotlin Developer track, which I started in June 2020. All started and finished projects are here.
Simple Search Engine (simpleSearchEngine.kt) (difficulty level: Hard)
I've got to know a lot of basic features of Kotlin - developing search engine indexing over imported text file, with three options of searching.
Seam Carving (seamCarving.kt) (difficulty level: Challenging)
This project is focused on manipulating images with the use of Kotlin. It is based on Node and Photo classes, finds the lowest energy seam (line from the edge to edge on the other side of a picture) using implemented Dijkstra algorithm and deletes a given amount of horizontal and vertical seams, trimming the image. Finishing it needed a lot of research about Kotlin by myself.
Flashcards (flashcards.kt) (difficulty level: Challenging)
The point of this piece of code is to improve learning abilities by implement the idea behind flashcards (cards that with word on one side and definition on the other side) straight to the computer.
Seam Carving (seamCarving.kt)
- Kotlin 1.3.72-release-468
- JVM: 14.0.1 (Oracle Corporation 14.0.1+7)
- Gradle 6.6.1
Simple Search Engine (simpleSearchEngine.kt)
Main function of this piece of code takes as an argument String: source path to normal text file.
Seam Carving (seamCarving.kt)
Code can be run from command line with necessary arguments: -in , -out , -width and -height .
Flashcards (flashcards.kt)
Code can be run from command line with optional arguments -import and -export . All input is typed by used in console.
Simple Search Engine (simpleSearchEngine.kt)
- Read data from text file.
- Mapping single words to lines indexes where they are in text file.
- Simple user menu.
- Search options ALL (result must have all phrases from query), ANY (any word from query), NONE (cannot have words from query).
- Printing results of search.
- Printing all available data.
Seam Carving (seamCarving.kt)
- Importing and exporting picture.
- Finding energy of pixels as well as horizontal and vertical seams with lowest energy.
- Finding edges of nodes (pixels) to create seam.
- Finding seam of lowest sum of pixels energy to opposite side of image, using Priority Queue Dijkstra algotrithm implementation with empty top and bottom rows and image transposition.
- Trimming the picture by given amount of vertical and horizontal lines.
Flashcards (flashcards.kt)
- Simple user menu.
- Adding and removing cards from set (repetition and error-sensitive).
- Importing and exporting cards to external file.
- Asking user about definition of random card in set, and showing good definition or answer to given definition if needed.
- Tracking log of all input and output in program with possibility of exporting it.
- Tracking user mistakes, showing hardest card when prompted along with possibility of resetting stats function.
- Optional command line arguments -import (filename to import cards at the beginning of program) and -export (filename to export card to after program ends).
Simple Search Engine (simpleSearchEngine.kt)
- Project is: finished
Seam Carving (seamCarving.kt)
- Project is: finished
Flashcards (flashcards.kt)
- Project is: finished
Willingness to get to know another programming language and to find more challenging job, more amount of free time and JetBrains discount until the end of year (should I also mention that last two are result of COVID?).
[email protected], feel free to contact me.