Coder Social home page Coder Social logo

jetbrains-projects's Introduction

JetBrains projects

These are my JetBrains Academy projects from Kotlin Developer track, which I started in June 2020. All started and finished projects are here.

Table of contents

General info

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.

Screenshots

Seam Carving (seamCarving.kt)

Before After

Technologies used

  • Kotlin 1.3.72-release-468
  • JVM: 14.0.1 (Oracle Corporation 14.0.1+7)
  • Gradle 6.6.1

Setup

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.

Features

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).

Status

Simple Search Engine (simpleSearchEngine.kt)

  • Project is: finished

Seam Carving (seamCarving.kt)

  • Project is: finished

Flashcards (flashcards.kt)

  • Project is: finished

Inspiration

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?).

Contact

[email protected], feel free to contact me.

jetbrains-projects's People

Contributors

ifmcjthenknczny avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.