Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
238 commits
Select commit Hold shift + click to select a range
87e8040
Setting up GitHub Classroom Feedback
github-classroom[bot] Apr 24, 2024
12051eb
Create LICENSE
odiumuniverse Apr 29, 2024
877733b
Merge pull request #2 from spbu-coding-2023/create-licence
odiumuniverse Apr 29, 2024
4d62b17
init repo
Ycyken May 6, 2024
6634a74
remove readme from project template
Ycyken May 6, 2024
addfd20
remove local.properties file
Ycyken May 6, 2024
89cf2b4
update jdk version to 21
Ycyken May 6, 2024
fd7ba5e
add navigation compose lib
Ycyken May 7, 2024
909e8be
build: change .gitignore
Ycyken May 8, 2024
82f1b6b
build: add compose libs, update versions
Ycyken May 8, 2024
2289d60
ref: remove compose files from template build
Ycyken May 8, 2024
4029c29
feat: add styles
Ycyken May 8, 2024
fad6579
feat: add app navigation, basic list creating and search
Ycyken May 8, 2024
be49d41
feat: template for find cycle in graph
odiumuniverse May 9, 2024
6762025
change: add macOS, Linux and Gradle in `.gitignore`
odiumuniverse May 9, 2024
fc25564
build: remove ios and linux native support
Ycyken May 9, 2024
a9bd893
ref: refactor .gitignore code
Ycyken May 9, 2024
240dd97
Merge pull request #4 from spbu-coding-2023/composeapp
odiumuniverse May 9, 2024
3079da0
feat: template for CI
odiumuniverse May 10, 2024
81efa94
change: add setup android sdk
odiumuniverse May 10, 2024
cb99cb5
change: moved everything to the `workflows` folder
odiumuniverse May 10, 2024
54f197f
change: entered with jacoco on kotlinx-cover
odiumuniverse May 10, 2024
af59ea8
feat: add `.editorconfig` for megalinter
odiumuniverse May 10, 2024
3546b8c
feat: add pre-commit hooks
odiumuniverse May 10, 2024
bd98c72
feat: setup mergeable bot
odiumuniverse May 10, 2024
417e19d
feat: init readme with codefactor badge
odiumuniverse May 10, 2024
aa5ea3a
Update issue templates
odiumuniverse May 10, 2024
5994a8f
change: small bug fix
odiumuniverse May 10, 2024
b886413
bug fix
odiumuniverse May 10, 2024
ad6a994
Merge pull request #5 from spbu-coding-2023/ci-workstation
odiumuniverse May 10, 2024
4ce39f3
Merge pull request #6 from spbu-coding-2023/issue-template
Ycyken May 10, 2024
c2ee949
change: update mergeable.yml
odiumuniverse May 10, 2024
7bcd1c5
feat: delete coverage.yml because the rights to the repository are li…
odiumuniverse May 10, 2024
94f2809
Merge pull request #9 from spbu-coding-2023/ci-work
odiumuniverse May 10, 2024
805ce71
Feat: implemented graph screen and button for adding vertices
Ycyken May 13, 2024
0feb61b
Feat: change styling
Ycyken May 13, 2024
b04806f
Feat: add MainScreenViewModel
Ycyken May 13, 2024
7c8e525
Merge pull request #10 from spbu-coding-2023/composegui
Ycyken May 13, 2024
e20b35c
fix: dependancy bug in some AGP & Greadle versions fix
admitrievtsev May 13, 2024
9646dbd
Update README.md
Ycyken May 14, 2024
7ecaa68
Merge pull request #11 from spbu-coding-2023/depend-fix
Ycyken May 14, 2024
81d2acc
Feat: implemented saving graph into MainScreenViewModel
Ycyken May 14, 2024
eeb0e43
Feat: Implemented graph classes and edges view in gui
Ycyken May 14, 2024
6c5e30d
Feat: add edgesFrom method in Graph class
Ycyken May 14, 2024
383fda8
Update README.md
Ycyken May 14, 2024
37fe744
Feat: set base graph classes
Ycyken May 14, 2024
202518b
Merge pull request #13 from spbu-coding-2023/composegui
Ycyken May 14, 2024
a051b7f
Merge pull request #12 from spbu-coding-2023/Update-readme
Ycyken May 14, 2024
3e7c4c4
add: settings & cn-en-ru lang support
admitrievtsev May 14, 2024
8d6a541
add: Russian and Chinese localisation
admitrievtsev May 14, 2024
a5d62a6
add: translation error report
admitrievtsev May 14, 2024
ee4e783
add: cn/en/ru translating dictionaries
admitrievtsev May 14, 2024
079b161
Feat: add highlighting of the selected language
Ycyken May 15, 2024
fd8dd41
Merge branch 'main' into add-languages
Ycyken May 15, 2024
1ef1637
Merge pull request #17 from spbu-coding-2023/add-languages
Ycyken May 15, 2024
2f24705
CI: change mergeable workflow
Ycyken May 15, 2024
434b96a
CI: temporary disable megalinter
Ycyken May 15, 2024
6bf73dd
CI: add kotlinx-kover workflow
Ycyken May 15, 2024
dbc0e19
Merge pull request #18 from spbu-coding-2023/CI
Ycyken May 15, 2024
4d228c3
Feat: implemented adding edges
Ycyken May 15, 2024
316293a
CI: exclude main branch from mergeable workflow
Ycyken May 15, 2024
db70bd2
Merge pull request #20 from spbu-coding-2023/CI
odiumuniverse May 15, 2024
c6de39e
Merge pull request #19 from spbu-coding-2023/gui-addedge
odiumuniverse May 15, 2024
a164c54
add: localisation resources storaging
admitrievtsev May 15, 2024
db3d2ab
fix: reading from rresources bug fix
admitrievtsev May 15, 2024
648bf21
add: localisation errors logger
admitrievtsev May 15, 2024
5187d20
Update LICENSE
Ycyken May 16, 2024
002cd1b
Fix: fix crash when add edge from non-existent vertex
Ycyken May 16, 2024
08a3734
fix: ser English(US) as default app language
admitrievtsev May 16, 2024
47c4eb5
Merge pull request #21 from spbu-coding-2023/resources-add
odiumuniverse May 16, 2024
f87b916
Merge pull request #22 from spbu-coding-2023/Ycyken-license
odiumuniverse May 16, 2024
9184afc
Merge pull request #23 from spbu-coding-2023/gui-addedge
odiumuniverse May 16, 2024
1d63572
feat: new add menue
admitrievtsev May 16, 2024
700af1e
Merge branch 'main' into add-feat
admitrievtsev May 16, 2024
18c9325
upd: Ru/En localisation dictionary update
admitrievtsev May 16, 2024
eadadb9
Migrate project from multiplatform to desktop
Ycyken May 17, 2024
c568ee4
Feat: change graph interface
Ycyken May 17, 2024
6d32ce6
Fix: add restore log file
Ycyken May 17, 2024
92a2fff
Merge pull request #24 from spbu-coding-2023/migrate-from-multiplatfo…
Ycyken May 18, 2024
041e642
Create README.md
Ycyken May 18, 2024
e0c80da
Update README.md
Ycyken May 18, 2024
c0570b4
Create LICENSE
odiumuniverse May 18, 2024
6e4905b
Merge pull request #25 from spbu-coding-2023/feat-add-licence
odiumuniverse May 18, 2024
c186b7e
Merge branch 'main' into add-feat
admitrievtsev May 18, 2024
0394451
fix: localistion source bug fix
admitrievtsev May 18, 2024
911ed18
Merge pull request #26 from spbu-coding-2023/add-feat
admitrievtsev May 18, 2024
41de20f
upd: chinese localization
admitrievtsev May 18, 2024
b725e98
Feat: implemented graph model
Ycyken May 19, 2024
0b0f411
Feat: change default graph type in mainscreen to Int
Ycyken May 19, 2024
f0565fc
Fix: fix edges list refering in VertexView
Ycyken May 19, 2024
b16c65e
Merge pull request #27 from spbu-coding-2023/ycyken/graphs
admitrievtsev May 19, 2024
e8a5bc6
upd: chinese localization
admitrievtsev May 18, 2024
794d468
Feat: add edges iteration in graphs
Ycyken May 19, 2024
933a8cb
add: dropdown menue on adding a new graph
admitrievtsev May 19, 2024
7500b17
Fix: fix bug in addEdge in weighted graphs
Ycyken May 19, 2024
3b6013e
Feat: Implemented Ford-Bellman algorithm
Ycyken May 19, 2024
52b3f87
add: oriented graph arrow & unoriented edges
admitrievtsev May 19, 2024
ae1ef5d
Feat: implemented finding path of edges in Ford-Bellman algorithm
Ycyken May 19, 2024
91d8a1d
res: resolve conflicts
admitrievtsev May 19, 2024
da2d67a
Merge pull request #28 from spbu-coding-2023/gui-new
admitrievtsev May 19, 2024
525eee6
Merge pull request #29 from spbu-coding-2023/ycyken/ford-bellman
odiumuniverse May 19, 2024
afa492f
feat: implementation Prim algorithm
odiumuniverse May 19, 2024
5f202f9
change: weighted on weightedundirected
odiumuniverse May 19, 2024
1077451
add: screem view model split
admitrievtsev May 19, 2024
bf28b07
add: new screen navigation
admitrievtsev May 19, 2024
8d4a803
Feat: change graph model structure
Ycyken May 19, 2024
8950099
Add settings and localisationError.log in .gitignore
Ycyken May 19, 2024
6ab792a
fix: screen division bug fix
admitrievtsev May 20, 2024
8100640
add: screen type definition
admitrievtsev May 20, 2024
4e3d718
fix: screen bugfix
admitrievtsev May 20, 2024
0825c22
Merge pull request #31 from spbu-coding-2023/ycyken/graphs-restructure
admitrievtsev May 20, 2024
b015e3c
ref: graph restructurisation
admitrievtsev May 20, 2024
45a6238
fix: undirected weigted type fix
admitrievtsev May 20, 2024
1780bad
Ref: change addEdge behaviour
Ycyken May 20, 2024
f75a38f
Merge pull request #32 from spbu-coding-2023/graph-model
Ycyken May 20, 2024
bb0fe18
Merge pull request #33 from spbu-coding-2023/main
odiumuniverse May 20, 2024
c0005c2
change: fix imports
odiumuniverse May 20, 2024
23c0247
Merge pull request #30 from spbu-coding-2023/universe/Prima
Ycyken May 20, 2024
973d477
add: new graph screen division in two
admitrievtsev May 20, 2024
86f285c
fix: graph removing fix
admitrievtsev May 20, 2024
a86e085
ref: removed unnecessary generics & some code refactor
admitrievtsev May 20, 2024
4c32c78
ref: undo default language set as Chinese
admitrievtsev May 20, 2024
12b70d8
feat: add find cycles algorithms on undirected graph
odiumuniverse May 20, 2024
c9a3747
feat: add search for a specific vertex
odiumuniverse May 20, 2024
42e313f
fix: fixed undirected graph endge view
admitrievtsev May 20, 2024
29db55e
Merge pull request #34 from spbu-coding-2023/screens-add
admitrievtsev May 20, 2024
505def5
Feat: implemented bridges search
Ycyken May 20, 2024
d239d95
feat: add test for FCADFS
odiumuniverse May 20, 2024
d9e1be2
feat: add test for Prim
odiumuniverse May 20, 2024
149de4c
change: make function `findCycleUtil` private
odiumuniverse May 20, 2024
c91be37
feat: replacement with another implementation of the prima algorithm
odiumuniverse May 20, 2024
c4d8ed0
feat: `Edge` became comparable
odiumuniverse May 20, 2024
5ab46c9
ref: rename class name
odiumuniverse May 20, 2024
e4ff3c1
Merge pull request #36 from spbu-coding-2023/ycyken/bridges-search
odiumuniverse May 20, 2024
31e8707
Resolve merge conflict
Ycyken May 20, 2024
24cef1a
Merge pull request #35 from spbu-coding-2023/universe/Edmonds
Ycyken May 20, 2024
f054316
Ref: class renaming, fix typos
Ycyken May 20, 2024
3bd7be8
change: bridge search algorithm moved to `object`
odiumuniverse May 21, 2024
e19552d
change: remove setup android sdk
odiumuniverse May 21, 2024
61f4952
add: Djikstra algo implementation
admitrievtsev May 21, 2024
8af4387
Merge pull request #38 from spbu-coding-2023/universe/ci-corrections
odiumuniverse May 21, 2024
4923aab
ref: some code ref to dijkstra algo implementation
admitrievtsev May 21, 2024
5207fd8
gui: improved edge adding menue
admitrievtsev May 21, 2024
83efad7
Merge branch 'main' into djikstra-algos
admitrievtsev May 21, 2024
49b9676
add: edges weights add
admitrievtsev May 22, 2024
0725072
Fix: fix bug with adding new vertex on 33+ vertices graph
Ycyken May 22, 2024
8b581af
Merge pull request #40 from spbu-coding-2023/ycyken/graphvm
Ycyken May 22, 2024
4313cee
Merge branch 'main' into djikstra-algos
Ycyken May 22, 2024
28d4722
Fix: add weight in addEdge method of graph ViewModels
Ycyken May 22, 2024
1adadd4
Merge pull request #39 from spbu-coding-2023/djikstra-algos
Ycyken May 22, 2024
fbbae0d
add: dijkstra algo screen add
admitrievtsev May 22, 2024
ece0be8
fix: gui back button fix
admitrievtsev May 22, 2024
30d37f5
upd: update main features
admitrievtsev May 22, 2024
16548c9
add: new EdgeViewModel
admitrievtsev May 22, 2024
769eb71
add: Dijkstra algorithm visualisation
admitrievtsev May 22, 2024
a669c5e
feat: implemented HITS algorithm
odiumuniverse May 23, 2024
5443cc4
add: SQLite db init
admitrievtsev May 23, 2024
63c1fcd
Ref: moved addEdge and default button to common functions
Ycyken May 23, 2024
e1efe15
Ref: change more buttons to common DefaultButton
Ycyken May 23, 2024
8b82a29
Ref: refactor addEdge methods in GraphVM
Ycyken May 23, 2024
5357a14
add: SGLite graph saving
admitrievtsev May 23, 2024
ac7b1b2
Ref: file restructure
Ycyken May 23, 2024
23f05b7
Feat: full restructure of viewmodel
Ycyken May 23, 2024
744bf04
Ref: remove useless ViewModel method
Ycyken May 23, 2024
6946e74
add: SQLite save/delete/read directed graph
admitrievtsev May 23, 2024
6552644
Feat: add algorithms visualization
Ycyken May 23, 2024
329cac8
add: SQLite save/delete/read for undirected graph
admitrievtsev May 24, 2024
4a027d6
Fix: fix bug with NaN rounding in Force-Directed algorithm
Ycyken May 24, 2024
d90dcb5
add: StrongConnections algo add & it's visualisation
admitrievtsev May 24, 2024
25a2cac
add: SCon algo improve refactor
admitrievtsev May 24, 2024
e818ecc
Feat&Fix: add visualization of FordBellman, fix bug in addEdge menu
Ycyken May 24, 2024
8376bae
CI: divide Build and Test workflows
Ycyken May 24, 2024
60281cb
Merge pull request #44 from spbu-coding-2023/ycyken/algorithms-visual…
odiumuniverse May 24, 2024
1cdcc20
Merge branch 'main' into admitrievtsev/SQLite
Ycyken May 24, 2024
d7961dd
Merge pull request #45 from spbu-coding-2023/admitrievtsev/SQLite
Ycyken May 24, 2024
5d2eefa
add: China Whisper algorithm implementation & visualisation
admitrievtsev May 24, 2024
a56d80d
feat: implement new algorithm for find cycle
odiumuniverse May 25, 2024
d4a0786
ref: `public` on `private` functions | codestyle
odiumuniverse May 25, 2024
f828b95
feat: visualization for find cycles algorithm
odiumuniverse May 25, 2024
2eb02dd
merge: branch 'main' into admitrievtsev/ChinaGraph
admitrievtsev May 25, 2024
a920d83
feat: add visual for find cycle in undirected graph
odiumuniverse May 25, 2024
d4b316f
Merge pull request #47 from spbu-coding-2023/admitrievtsev/ChinaGraph
admitrievtsev May 25, 2024
b8f13a7
ref: change parametr `startVertex` from `Int` to `V`
odiumuniverse May 25, 2024
9f0393a
Merge branch 'main' into universe/JohnsonCycles
odiumuniverse May 25, 2024
831e181
ref: change the function call to the current one
odiumuniverse May 25, 2024
a1ba886
Ref: change variables and methods naming, remove direct access to mat…
Ycyken May 25, 2024
af2956d
Merge pull request #46 from spbu-coding-2023/universe/JohnsonCycles
Ycyken May 25, 2024
25e4cb9
Feat: add zooming, vertex adding dialog menu
Ycyken May 25, 2024
5770cdf
Feat: implemented running visualization as a coroutine and canceling it
Ycyken May 25, 2024
530551a
Merge pull request #49 from spbu-coding-2023/ycyken/visualization-cor…
odiumuniverse May 26, 2024
dfb3650
test: add Dijkstra algo tests
admitrievtsev May 28, 2024
35de38f
test: Strong Connections algo test
admitrievtsev May 28, 2024
c294810
ref: SQLite graph saving now in Graph class
admitrievtsev May 28, 2024
0a11420
test: add integrate test w. SQLite & dijkstra algo
admitrievtsev May 28, 2024
3f45d6d
Fix: zooming now by mouse position, not center
Ycyken May 28, 2024
577d0f3
fix: SQLite graph initialization source bug fix
admitrievtsev May 28, 2024
b829d8a
Merge pull request #51 from spbu-coding-2023/admitrievtsev/tests
Ycyken May 28, 2024
ebb7aea
Resolve merge conflicts
Ycyken May 28, 2024
1a5a000
Merge pull request #50 from spbu-coding-2023/ycyken/zoom-fix
admitrievtsev May 28, 2024
501a8af
upd: update localisation & text view improvement
admitrievtsev May 28, 2024
c7c3c14
feat: pagerank implemented
odiumuniverse May 28, 2024
34db6f7
feat: implemented algo for undirected graph
odiumuniverse May 28, 2024
f836ac1
fix: set en-US as default lang
admitrievtsev May 28, 2024
398ce39
change: add matrix method
odiumuniverse May 28, 2024
f04470e
Implemented Neo4jRepository saving and loading graphs
Ycyken May 28, 2024
8c79170
change: delete method `matrix`
odiumuniverse May 28, 2024
8bb5616
Merge branch 'main' into universe/BetweennesCentrality
Ycyken May 28, 2024
71e1f6c
Fix: fix device pixels dependencies (was not correct view on macos)
Ycyken May 28, 2024
3d6b074
Merge pull request #53 from spbu-coding-2023/universe/BetweennesCentr…
Ycyken May 28, 2024
39eb0b1
Merge pull request #54 from spbu-coding-2023/ycyken/neo4j
Ycyken May 28, 2024
db32d18
Merge pull request #52 from spbu-coding-2023/pixels-fix
Ycyken May 28, 2024
1fc5538
Feat: add betweenness-centrality visualization
Ycyken May 29, 2024
e9d2130
ref: remove extra check for null
odiumuniverse May 29, 2024
63879e8
Merge pull request #55 from spbu-coding-2023/ycyken/betweenness-centr…
odiumuniverse May 29, 2024
d35c392
Feat: restructured io, integrated neo4j
Ycyken May 29, 2024
f09873b
Merge branch 'main' into ycyken/neo4j
Ycyken May 29, 2024
d97f448
Merge pull request #56 from spbu-coding-2023/ycyken/neo4j
odiumuniverse May 29, 2024
7b963e1
add: gui improve, add graph icons
admitrievtsev May 29, 2024
5f2fca8
change: small case
odiumuniverse May 29, 2024
aeffbc4
Merge branch 'main' into ycyken/neo4j
Ycyken May 29, 2024
648ad1b
Merge branch 'main' into ycyken/neo4j
Ycyken May 29, 2024
c8df408
Merge pull request #59 from spbu-coding-2023/ycyken/neo4j
Ycyken May 29, 2024
1589234
add: added EXAMPLE
admitrievtsev May 29, 2024
06d6ead
Merge branch 'main' into admitrievtsev/gui-improve
admitrievtsev May 29, 2024
092954b
add: examlpe graph
admitrievtsev May 29, 2024
2f6992b
fix: refu bug fix
admitrievtsev May 29, 2024
baf8cb2
Merge pull request #58 from spbu-coding-2023/admitrievtsev/gui-improve
Ycyken May 29, 2024
5d9a1b5
Fix: fix db bugs, make theme depends on what saving you chosen
Ycyken May 29, 2024
b25b5a4
Merge pull request #61 from spbu-coding-2023/ycyken/io-fix
Ycyken May 29, 2024
fe20c71
feat: create README.md
odiumuniverse Jun 14, 2024
71132a4
feat: update README.md
odiumuniverse Jun 14, 2024
c5e0363
change: remove video form README.md
odiumuniverse Jun 14, 2024
e2c4eae
Update README.md
odiumuniverse Jun 14, 2024
ca521cb
Update README.md
odiumuniverse Jun 14, 2024
60964a1
Merge pull request #63 from odiumuniverse/main
odiumuniverse Jun 14, 2024
cb573aa
Update README.md
Ycyken Jul 3, 2024
d8c8046
Feat: graphs now creating with centre coordinate vertices
Ycyken Jul 3, 2024
7179288
CI: add pull request run on all workflows
Ycyken May 10, 2025
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
Empty file removed .github/.keep
Empty file.
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
11 changes: 11 additions & 0 deletions .github/mergeable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: 2
mergeable:
- when: pull_request.*, pull_request_review.*
branches-ignore:
-"main"
validate:
- do: approvals
min:
count: 1
required:
assignees: true
36 changes: 36 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Measure coverage

on:
[push, pull_request]

jobs:
build:
permissions:
id-token: write
contents: read
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '21'
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
- name: Generate kover coverage report
run: ./gradlew koverXmlReport

- name: Add coverage report to PR
id: kover
uses: mi-kas/kover-report@v1
with:
path: |
${{ github.workspace }}/build/reports/kover/report.xml
title: Code Coverage
update-comment: true
min-coverage-overall: 0
min-coverage-changed-files: 0
coverage-counter-type: LINE
22 changes: 22 additions & 0 deletions .github/workflows/gradle-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Build

on:
[push, pull_request]

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, macos-latest ]

Choose a reason for hiding this comment

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

почему на винде бы не забилдить ?

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '21'
- name: Clean and Build
run: ./gradlew clean build -x test
22 changes: 22 additions & 0 deletions .github/workflows/gradle-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Test

on:
[push, pull_request]

jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, macos-latest ]
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'adopt'
java-version: '21'
- name: Clean and Test
run: ./gradlew clean test
89 changes: 89 additions & 0 deletions .github/workflows/megalinter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
#---
## MegaLinter GitHub Action configuration file
## More info at https://megalinter.io
#name: MegaLinter
#
#on:
# # Trigger mega-linter at every push. Action will also be visible from Pull Requests to main
# push: # Comment this line to trigger action only on pull-requests (not recommended if you don't pay for GH Actions)
#
#env: # Comment env block if you don't want to apply fixes
# # Apply linter fixes configuration
# APPLY_FIXES: all # When active, APPLY_FIXES must also be defined as environment variable (in github/workflows/mega-linter.yml or other CI tool)
# APPLY_FIXES_EVENT: pull_request # Decide which event triggers application of fixes in a commit or a PR (pull_request, push, all)
# APPLY_FIXES_MODE: commit # If APPLY_FIXES is used, defines if the fixes are directly committed (commit) or posted in a PR (pull_request)
# ENABLE_LINTERS: KOTLIN_KTLINT
#concurrency:
# group: ${{ github.ref }}-${{ github.workflow }}
# cancel-in-progress: true
#
#jobs:
# megalinter:
# name: MegaLinter
# runs-on: ubuntu-latest
# permissions:
# # Give the default GITHUB_TOKEN write permission to commit and push, comment issues & post new PR
# # Remove the ones you do not need
# contents: write
# issues: write
# pull-requests: write
# steps:
# # Git Checkout
# - name: Checkout Code
# uses: actions/checkout@v3
# with:
# token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}
# fetch-depth: 0 # If you use VALIDATE_ALL_CODEBASE = true, you can remove this line to improve performances
#
# # MegaLinter
# - name: MegaLinter
# id: ml
# # You can override MegaLinter flavor used to have faster performances
# # More info at https://megalinter.io/flavors/
# uses: oxsecurity/megalinter@v7
# env:
# # All available variables are described in documentation
# # https://megalinter.io/configuration/
# VALIDATE_ALL_CODEBASE: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} # Validates all source when push on main, else just the git diff with main. Override with true if you always want to lint all sources
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# # ADD YOUR CUSTOM ENV VARIABLES HERE OR DEFINE THEM IN A FILE .mega-linter.yml AT THE ROOT OF YOUR REPOSITORY
# # DISABLE: COPYPASTE,SPELL # Uncomment to disable copy-paste and spell checks
#
# # Upload MegaLinter artifacts
# - name: Archive production artifacts
# if: success() || failure()
# uses: actions/upload-artifact@v4
# with:
# name: MegaLinter reports
# path: |
# megalinter-reports
# mega-linter.log
#
# # Create pull request if applicable (for now works only on PR from same repository, not from forks)
# - name: Create Pull Request with applied fixes
# id: cpr
# if: steps.ml.outputs.has_updated_sources == 1 && (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == github.event_name) && env.APPLY_FIXES_MODE == 'pull_request' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) && !contains(github.event.head_commit.message, 'skip fix')
# uses: peter-evans/create-pull-request@v6
# with:
# token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }}
# commit-message: "[MegaLinter] Apply linters automatic fixes"
# title: "[MegaLinter] Apply linters automatic fixes"
# labels: bot
# - name: Create PR output
# if: steps.ml.outputs.has_updated_sources == 1 && (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == github.event_name) && env.APPLY_FIXES_MODE == 'pull_request' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) && !contains(github.event.head_commit.message, 'skip fix')
# run: |
# echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
# echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
#
# # Push new commit if applicable (for now works only on PR from same repository, not from forks)
# - name: Prepare commit
# if: steps.ml.outputs.has_updated_sources == 1 && (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == github.event_name) && env.APPLY_FIXES_MODE == 'commit' && github.ref != 'refs/heads/main' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) && !contains(github.event.head_commit.message, 'skip fix')
# run: sudo chown -Rc $UID .git/
# - name: Commit and push applied linter fixes
# if: steps.ml.outputs.has_updated_sources == 1 && (env.APPLY_FIXES_EVENT == 'all' || env.APPLY_FIXES_EVENT == github.event_name) && env.APPLY_FIXES_MODE == 'commit' && github.ref != 'refs/heads/main' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository) && !contains(github.event.head_commit.message, 'skip fix')
# uses: stefanzweifel/git-auto-commit-action@v4
# with:
# branch: ${{ github.event.pull_request.head.ref || github.head_ref || github.ref }}
# commit_message: "[MegaLinter] Apply linters fixes"
# commit_user_name: megalinter-bot
# commit_user_email: nicolas.vuillamy@ox.security
51 changes: 51 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
src/main/kotlin/**/localisationError.log
src/main/kotlin/**/settings.json
storage.db

### IntelliJ IDEA ###
.idea/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### Mac OS ###
.DS_Store
.AppleDouble
.LSOverride

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
11 changes: 11 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- id: name-tests-test
- id: detect-private-key
- id: check-merge-conflict
24 changes: 24 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.

In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

For more information, please refer to <https://unlicense.org>
41 changes: 41 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Graph Visualizer
## About
Application for creating graphs and visualisation graph algorithms.

[dsfds.webm](https://github.com/spbu-coding-2023/graphs-graphs-8/assets/135718038/5fbf7226-122b-412e-b1c4-bb05ad998f0e)


## Quick start
### Requirements
- Kotlin 1.9.23
- JDK 21
#### Start
Run it by
```
./gradlew run
```
### Saving graphs
You can save graphs graphs using SQLite and Neo4j
- When using Neo4j you have to enter uri, username and password to establish a connection.
- SQLite is a local database, you don't need to do anything, just select it in the application settings.

## Features
#### You can use basic algorithms
- Searching for clusters.
- Betweenness centrality.
- Graph force-directed drawing algorithm.
#### There are also other algorithms
- Find bridges.
- Find cycles.
- Find the shortest path using Ford-Bellman and Dijkstra algorithms.
- Find strongly connected components.
- Constructing a minimal spanning tree.

## Licence
The app is distributed under [Unlicence](https://unlicense.org/), meaning we are putting this project into the public domain
## Contributing
We do not support contributing, so please write to the authors with your suggestions
## Authors
- [Aleksey Dmitrievtsev](https://github.com/admitrievtsev)
- [Gleb Nasretdinov](https://github.com/Ycyken)
- [Azamat Ishbaev](https://github.com/odiumuniverse)
Loading
Loading