Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
a75053d
Setting up GitHub Classroom Feedback
github-classroom[bot] Mar 20, 2023
a7a155c
Add gitignore file
Mar 21, 2023
53c5dce
Add GNU GPL license
Mar 21, 2023
833495f
Merge pull request #2 from spbu-coding-2022/repo_setup
vacmannnn Mar 24, 2023
f6808fc
feat(gitignor): ignored gradle files
vacmannnn Mar 24, 2023
f0f938b
feat(gitignor): ignored MacOS files
raf-nr Mar 24, 2023
e3b0c57
add: gradle init files
vacmannnn Mar 24, 2023
768167c
Merge from gradle_init
vacmannnn Mar 25, 2023
055cec8
feat(gitignore): ignored IDEA directory
vacmannnn Mar 27, 2023
a0c768c
add: init files for trees
vacmannnn Mar 27, 2023
bbd2864
fix: pulled gitignore changes
vacmannnn Mar 27, 2023
cb35bbc
add: mergeable config
raf-nr Mar 27, 2023
9c07562
Merge pull request #8 from spbu-coding-2022/add/mergeable_config
raf-nr Mar 27, 2023
1f3df0b
feat: find function and init of root node in bst
vacmannnn Mar 28, 2023
130b3ea
add: KVPairs class for a key-value pair
raf-nr Mar 28, 2023
8eefcfe
add: init files for trees
raf-nr Mar 28, 2023
4887010
Merge branch 'tree_init' into trees_init
vacmannnn Mar 28, 2023
765069e
add: new init files with implementation
vacmannnn Mar 29, 2023
c2d86e6
feat: implement remove in BST, changed add func
vacmannnn Mar 30, 2023
28c1fab
add: created files for remaining trees
vacmannnn Apr 2, 2023
d16815f
feat: delete 'node' file
raf-nr Apr 2, 2023
dc2329a
feat: splitting a remote 'Node' file into separate files
raf-nr Apr 2, 2023
a55d8e4
add: AVL and RB nodes
raf-nr Apr 2, 2023
1e89f70
feat: placing node classes in a separate directory
raf-nr Apr 2, 2023
0f703c5
feat: transferring the KVPairs class to a file with the AbstractNode …
raf-nr Apr 2, 2023
1cbe12c
fix: removed unnecessary generics, added new ones
raf-nr Apr 2, 2023
4932a8f
fix: changed import directives, return of find function
vacmannnn Apr 2, 2023
cca9c2d
fix: node types in tree declaration, cleared 'app' file
raf-nr Apr 2, 2023
743e183
Merge init tress files to develop
vacmannnn Apr 2, 2023
3bdba1a
add: CI file that tests project build while PR
vacmannnn Apr 7, 2023
7e852fa
Add CI with building project in pull requests
vacmannnn Apr 7, 2023
5cb24ee
add: README.md
vacmannnn Apr 7, 2023
b2ee631
fix: name of parameters, generics in nodes
raf-nr Apr 8, 2023
bf28099
fix: typo with comparison operator
raf-nr Apr 8, 2023
00b8837
fix: class declaration, node types
raf-nr Apr 8, 2023
b9811ef
fix: change structure, names and add print method
Apr 9, 2023
3cf5748
Merge branch 'develop' into fix/bst_tree
vacmannnn Apr 10, 2023
d48f624
fix: binary tree structure and generics
Apr 10, 2023
c9a84be
add: init files for trees test
vacmannnn Apr 10, 2023
7db522b
Implement BSTree, git workflow, readme, license (#14)
vacmannnn Apr 10, 2023
d6712f1
fix: remove unnecessary recursive add function
Apr 11, 2023
682ee75
add: raw add and remove methods
Apr 12, 2023
5ce9c4f
fix: find search by key
vacmannnn Apr 12, 2023
29c9cd3
Merge pull request #15 from spbu-coding-2022/bstree_fix
Apr 13, 2023
f72e3a2
implement AVL-tree
raf-nr Apr 17, 2023
d99f143
feat: function to validate BSTree
vacmannnn Apr 17, 2023
e14b6a8
add: basic red black tree implementation
Apr 17, 2023
75bc5c8
Correction of functions for adding and deleting nodes
raf-nr Apr 17, 2023
6bb4671
fix: null node fix
Apr 17, 2023
20ac92a
fix: add nodes by key and value
Apr 17, 2023
5852fc8
add: red black tree implementation
Apr 17, 2023
e9db236
add: tests for binary search tree
vacmannnn Apr 17, 2023
554fda9
feat: find, add, remove tests for AVL
vacmannnn Apr 17, 2023
677d6e4
fix: null pointer error
Apr 18, 2023
e9e2ef6
fix: correct typo
Apr 18, 2023
8de59d3
fix: null pointer bug
Apr 18, 2023
6161956
add: functions to work with flat file database
vacmannnn Apr 18, 2023
fc60c3d
feat: find, add, remove tests for RB
vacmannnn Apr 18, 2023
5a293d2
feat(readme): written current changes
vacmannnn Apr 18, 2023
680ac64
Merge branch 'main' into develop
vacmannnn Apr 18, 2023
5020e74
Implement RB, AVL trees, tests and flat tipe database
vacmannnn Apr 18, 2023
dd75fb3
fix: simplify code and improve safety
Apr 18, 2023
bd1eba4
add: test with removing a non-existent node
raf-nr Apr 19, 2023
1fcea32
fix: remove in BST and AVL throw exception if node not exist
vacmannnn Apr 19, 2023
b8d6280
add: functions for saving the AVL-tree in the database
raf-nr Apr 19, 2023
b54c9cd
fix: improve code safety and readability
Apr 19, 2023
946744c
Merge remote-tracking branch 'refs/remotes/origin/develop' into develop
Apr 19, 2023
e83df4b
fix: make proper formatting
Apr 19, 2023
7289816
fix: beautify code structure
Apr 19, 2023
990b27b
feat: readme decoration, remove in flatFileDB
vacmannnn Apr 19, 2023
6a34e65
Merge branch 'main' into develop
vacmannnn Apr 19, 2023
a82736f
Implement sql, git decoration, remove in flatFileDB
vacmannnn Apr 19, 2023
03b2979
add: balance tests for BS and AVL trees
raf-nr Apr 23, 2023
8f5de1c
feat: CI runs on 3 platforms with jacoco test coverage
vacmannnn Apr 23, 2023
8ea161d
Merge branch 'main' into develop
vacmannnn Apr 23, 2023
cf3d84b
CI runs on 3 platforms with jacoco test coverage
vacmannnn Apr 23, 2023
a44d643
feat: using csv library to work with write and read functions
vacmannnn Apr 23, 2023
9025887
add: raw compose app
Apr 24, 2023
b236744
feat: home screen implementation
vacmannnn Apr 25, 2023
3ac89e6
feat: HomeScreen buttons are the same size
vacmannnn Apr 25, 2023
f7d9ce2
add: node view model for displaying them
raf-nr Apr 26, 2023
469d95e
feat(flatFilesDB): write and insert functions works only with key and…
vacmannnn Apr 28, 2023
a49c989
feat: nodes in BSTScreen can be printed, implemented functions to wor…
vacmannnn Apr 28, 2023
bd364e0
add: folder refactoring - different files to screens
vacmannnn Apr 28, 2023
892320d
feat: implemented navigation between homeScreen and BSTScreen
vacmannnn Apr 28, 2023
e38d03a
feat(BSTScreen): back to menu buttom
vacmannnn Apr 28, 2023
f5ce146
add: basic gui implementation
Apr 28, 2023
da005f2
fix: use find function, privacy change, return of balance
vacmannnn May 2, 2023
5f01f20
delete: RBBalanceTest
vacmannnn May 2, 2023
e6cd06f
add: balance tests
May 2, 2023
d231b6e
add: Neo4j database implementation
vacmannnn May 2, 2023
9fc654e
add: menu of functions for actions on trees, implementation of the re…
raf-nr Apr 30, 2023
65bc677
add: text fields
May 1, 2023
46c33e8
feat(BSTScreen): implemented add, remove, find functions
vacmannnn May 2, 2023
2371a67
fix: removed unnecessary bst screen parameter
vacmannnn May 2, 2023
3fedc21
fix: beautify code
May 2, 2023
c2452f4
Implement basic GUI, add neo4j support and more tests
May 2, 2023
9905453
fix(sql): deleting unnoticed outputs, fixed bugs with statement closing
raf-nr May 2, 2023
59974d1
feat(BSTScreen): text message about errors
vacmannnn May 2, 2023
68efb51
add: BSTree draw implementation
raf-nr May 2, 2023
2c627db
fix: beautify nodes
raf-nr May 2, 2023
dbf6862
fix: empty file error in bstscreen
May 2, 2023
14603b0
fix: tree draw in the center
raf-nr May 2, 2023
4a5c68c
add: avl tree drawing
raf-nr May 2, 2023
c34268e
feat: added test coverage
vacmannnn May 2, 2023
e96d46f
feat: add photo in README.md with small changes
vacmannnn Dec 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#
# https://help.github.com/articles/dealing-with-line-endings/
#
# Linux start script should use lf
/gradlew text eol=lf

# These are Windows script files and should use crlf
*.bat text eol=crlf

20 changes: 20 additions & 0 deletions .github/mergeable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
version: 2
mergeable:
- when: pull_request.*, pull_request_review.*
name: 'Check decoration'
validate:
- do: title
must_exclude:
regex: ^\[WIP\]
- do: description
no_empty:
enabled: true
message: Description matter and should not be empty. Provide detail with **what** was changed, **why** it was changed, and **how** it was changed.
- do: approvals
min:
count: 1
limit:
users:
- vacmannnn
- gladiuswq
- raf-nr
34 changes: 34 additions & 0 deletions .github/workflows/github-CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Run Kotlin project build with code and test coverage

on: [push]

jobs:
run:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

На Винде у вас какой-то варнинг вылезает -- можно в Actions увидеть

runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: zulu
java-version: '17'
cache: gradle
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Для Gradle лучше использовать специальный официальный экшн -- у него лучше кэширование (и как бонус, можно чуть более компактно через него же Gradle-таски запускать)


- name: Run gradle build
run: ./gradlew build

- if: matrix.os == 'ubuntu-latest' # Container action is only supported on Linux
name: Run Test Coverage
run: ./gradlew jacocoTestReport

- if: matrix.os == 'ubuntu-latest'
name: Jacoco Code Coverage Report
uses: cicirello/jacoco-badge-generator@v2.8.0
with:
generate-branches-badge: true
jacoco-csv-file: app/build/jacoco/report.csv
44 changes: 44 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Compiled class file
*.class

# Log file
*.log

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

.gradle
**/build/
!src/**/build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Avoid ignore Gradle wrappper properties
!gradle-wrapper.properties

# Cache of project
.gradletasknamecache

# Eclipse Gradle plugin generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath

# MacOS
*.DS_Store
.AppleDouble
# Ignore Gradle build output directory
build
# Ignore idea workflow files
.idea/*
Loading