Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
6bfe758
initial commit
sehansi-9 Jun 30, 2025
31012b5
add get latest state content route
sehansi-9 Jul 1, 2025
8f713d6
add endpoint to create first state from tabular data
sehansi-9 Jul 1, 2025
b35b9f8
refactor the database and state generation for initial tabular data
sehansi-9 Jul 2, 2025
03d9000
add json processing and move transaction detector
sehansi-9 Jul 2, 2025
9ad8a8d
implement move detection for a fixed structure of inputs
sehansi-9 Jul 3, 2025
a913cf7
extract the positions for ADDs and include them in ADD and MOVE trans…
sehansi-9 Jul 4, 2025
84d4fb6
fix: fix bug in identifying a MOVE when multiple inserts are listed u…
sehansi-9 Jul 7, 2025
78218a7
apply the identified transactions to the current state in db and expo…
sehansi-9 Jul 7, 2025
35b2543
improve modular separation between db and state files management and …
sehansi-9 Jul 7, 2025
f18def5
update POST endpoints to accept request body payload
sehansi-9 Jul 7, 2025
7f520d0
improved routes to get states
sehansi-9 Jul 7, 2025
7b47509
test with two sample amendment files
sehansi-9 Jul 7, 2025
ab726b7
add the sample payloads and readme
sehansi-9 Jul 8, 2025
39ba873
refactor the whole codebase to accept gazette numbers to process mult…
sehansi-9 Jul 8, 2025
0232a73
add csv generation for initial and amendment gazettes
sehansi-9 Jul 8, 2025
ecc5f0f
change the input file's date format to hypernated form
sehansi-9 Jul 8, 2025
54c6081
fix: add and terminate csv formats and date format
sehansi-9 Jul 8, 2025
f78ff95
refactor: restructure project directories
sehansi-9 Jul 9, 2025
0223726
fix: fix the bug in reading input file's date format
sehansi-9 Jul 9, 2025
63963b5
add database and sample gazette data for persons
sehansi-9 Jul 9, 2025
ee69043
Initial commit
vibhatha Jul 14, 2025
a06bf1a
Merge remote-tracking branch 'gdp/main'
sehansi-9 Jul 14, 2025
73e81ea
fix missing util file
sehansi-9 Jul 14, 2025
0d31ea3
update readme
sehansi-9 Jul 14, 2025
246d7e8
refactor: extract shared state logic to AbstractStateManager base class
sehansi-9 Jul 15, 2025
0bd7e9e
refactor: centralize state routes
sehansi-9 Jul 15, 2025
4e5ca8d
add person router structure
sehansi-9 Jul 15, 2025
031ed7e
change structure of payloads for mindep amendments
sehansi-9 Jul 16, 2025
a06511a
add fuzzy search to suggest similar entries from previous state for n…
sehansi-9 Jul 16, 2025
e2dc283
fix: fix bug in person db handler
sehansi-9 Jul 17, 2025
44abcfb
feat: add target and db token comparison for when fuzzy score is unre…
sehansi-9 Jul 17, 2025
c285a75
Merge pull request #1 from sehansi-9/main
sehansi-9 Jul 17, 2025
ac76d20
update readme and payload structures
sehansi-9 Jul 17, 2025
d6766b6
refactor to save all state versions in db in addition to snapshots fo…
sehansi-9 Jul 18, 2025
1e905b1
refactor person database handling to enhances state management
sehansi-9 Jul 18, 2025
6e17192
update readme
sehansi-9 Jul 18, 2025
9e63a59
feat: implement portfolio rename handling
sehansi-9 Jul 18, 2025
5eff165
add csv generation for person-related transactions
sehansi-9 Jul 21, 2025
b7828b9
add rename payload example
sehansi-9 Jul 21, 2025
1a95619
remove the flattening logic for transaction dictionaries in route han…
sehansi-9 Jul 21, 2025
3d56b13
Merge pull request #2 from sehansi-9/main
sehansi-9 Jul 21, 2025
b1ff7d9
restructure files into a package
sehansi-9 Jul 21, 2025
2900519
add setup and manifest files for package installation
sehansi-9 Jul 21, 2025
09a2f3b
update readme
sehansi-9 Jul 21, 2025
2fab0ef
add init files for submodules in gztprocessor
sehansi-9 Jul 21, 2025
886a477
update readme
sehansi-9 Jul 22, 2025
69b3f30
fix error in mindep schema
sehansi-9 Jul 22, 2025
0dbbe2d
fix bug in processor func parameters
sehansi-9 Jul 22, 2025
e332e03
change relationship type in csv_writer for moves and terminates
sehansi-9 Jul 22, 2025
90a3e23
update readme to include test repo link
sehansi-9 Jul 22, 2025
5436cfb
Merge pull request #3 from sehansi-9/main
sehansi-9 Jul 22, 2025
7737ca0
change setup.py to pyproject.toml
sehansi-9 Jul 25, 2025
a9fd143
change license
sehansi-9 Jul 25, 2025
c97064c
update readme
sehansi-9 Jul 25, 2025
844d10f
update toml file to find packages
sehansi-9 Jul 25, 2025
6650fd9
update toml file
sehansi-9 Jul 25, 2025
4593e21
update toml file
sehansi-9 Jul 25, 2025
6f52e6c
fix toml file
sehansi-9 Jul 27, 2025
9a041bb
fix toml
sehansi-9 Jul 27, 2025
09e182d
feat: identify departments that have been moved to new ministries in …
sehansi-9 Jul 28, 2025
0c4e8e4
update assumption for getting previous ministry of a dept
sehansi-9 Jul 28, 2025
6dd654c
Merge pull request #5 from sehansi-9/main
sehansi-9 Jul 28, 2025
e12b0c5
update readme
sehansi-9 Jul 28, 2025
8cff1c8
update readme
sehansi-9 Jul 28, 2025
34aaadb
initiate frontend files
sehansi-9 Jul 28, 2025
9125a8d
display state tables per gazette number under each president
sehansi-9 Aug 4, 2025
b0c76b4
get state info each gazette
sehansi-9 Aug 4, 2025
8d37171
add numberings for ministers
sehansi-9 Aug 4, 2025
3b61707
make state table collapsable
sehansi-9 Aug 4, 2025
f59893f
add get all gazette dates from db
sehansi-9 Aug 5, 2025
ebd3a8b
update the return type of get_all_gazette_numbers
sehansi-9 Aug 5, 2025
7db182d
fix issues with data fetching and state updates, improve layout
sehansi-9 Aug 5, 2025
e6f9e74
Add AddGazette component
sehansi-9 Aug 5, 2025
d23bb3d
Add TransactionPreviewer to visualize and mark terminates for initial…
sehansi-9 Aug 6, 2025
324ab24
refactor csv file handling to improve file management
sehansi-9 Aug 6, 2025
78545f8
add functionality to commit reviewed transactions for initial gazettes
sehansi-9 Aug 6, 2025
4eb2957
Update component states to reflect committed transactions after appro…
sehansi-9 Aug 7, 2025
5a83320
Add functionality to edit names of entities before comitting
sehansi-9 Aug 7, 2025
40e8e22
Add refresh functionality for transaction data
sehansi-9 Aug 7, 2025
55f285c
Implement functionality to add and delete departments within the tran…
sehansi-9 Aug 7, 2025
f8d3213
functionality to the add and remove previous ministry data
sehansi-9 Aug 11, 2025
bd608e8
functionality to add and remove ministers and handling empty minister…
sehansi-9 Aug 11, 2025
dcb72ce
add collapsible sections for minister departments
sehansi-9 Aug 11, 2025
e40fa49
Add functionality to allow adding departments even when no existing o…
sehansi-9 Aug 11, 2025
f9495c0
remove the check for minimum departments before allowing deletion
sehansi-9 Aug 11, 2025
24d6009
add move removal functionality and UI enhancements
sehansi-9 Aug 11, 2025
aacf7b5
add gazette warning management on commit action
sehansi-9 Aug 11, 2025
bb9ab10
implement logic to append a warning if any existing gazette warnings …
sehansi-9 Aug 11, 2025
94f7518
Enhance transaction preview and table loading states
sehansi-9 Aug 11, 2025
3e76369
functionality to refetch latest state
sehansi-9 Aug 11, 2025
3d3dc2d
Implement an error icon to visually indicate that a gazette must be r…
sehansi-9 Aug 11, 2025
31eafe9
Add a new transaction database to store gazette info and uncomitted/c…
sehansi-9 Aug 12, 2025
5a1e0ac
Implement endpoints to save and load transactions associated with a g…
sehansi-9 Aug 13, 2025
2d5dcf5
Support save and refetch actions for transactions
sehansi-9 Aug 13, 2025
f070aa7
change initial state of expanded ministers to be collapsed by default.
sehansi-9 Aug 13, 2025
537305b
enhance the transaction saving and fetching process to include moves …
sehansi-9 Aug 13, 2025
2293ff9
Updates the gazette fetching logic to separately handle committed and…
sehansi-9 Aug 13, 2025
14bded7
update gazette commitment handling in transaction preview
sehansi-9 Aug 13, 2025
2f6cfa8
store and fetch the warning status from db
sehansi-9 Aug 13, 2025
38d881b
refactor for amendment display
sehansi-9 Aug 14, 2025
12df8af
modularize and set up preview for amendments
sehansi-9 Aug 14, 2025
fd30d3d
refreshing and fetching for amendments
sehansi-9 Aug 14, 2025
d5996e7
implement approve commits for amendments
sehansi-9 Aug 14, 2025
a967831
fix bug in displaying previous ministries
sehansi-9 Aug 15, 2025
8fa0356
improve error handling for gazette types
sehansi-9 Aug 17, 2025
5bd217a
update readme
sehansi-9 Aug 17, 2025
de1b42b
update readme
sehansi-9 Aug 17, 2025
c489978
Merge pull request #7 from sehansi-9/main
sehansi-9 Aug 17, 2025
49899cf
Add 'gazettes/preprocess/' from commit 'c489978d96747b1d29ef2ab3cf6d4…
vibhatha Jan 22, 2026
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
25 changes: 25 additions & 0 deletions gazettes/preprocess/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*.pyo
*.pyd

# Virtual environments
venv/
.env/
.venv/

# VS Code
.vscode/

# macOS & system files
.DS_Store

# Python-specific
*.log
*.sqlite3
*.db
*.egg-info/
*.egg

*.csv
201 changes: 201 additions & 0 deletions gazettes/preprocess/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
1 change: 1 addition & 0 deletions gazettes/preprocess/MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
recursive-include gztprocessor/schemas *.sql
24 changes: 24 additions & 0 deletions gazettes/preprocess/gztp-frontend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
29 changes: 29 additions & 0 deletions gazettes/preprocess/gztp-frontend/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import { defineConfig, globalIgnores } from 'eslint/config'

export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{js,jsx}'],
extends: [
js.configs.recommended,
reactHooks.configs['recommended-latest'],
reactRefresh.configs.vite,
],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
parserOptions: {
ecmaVersion: 'latest',
ecmaFeatures: { jsx: true },
sourceType: 'module',
},
},
rules: {
'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }],
},
},
])
13 changes: 13 additions & 0 deletions gazettes/preprocess/gztp-frontend/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>
</html>
Loading