{"id":43612552,"url":"https://github.com/vasilii-kovalev/issue-tracker","last_synced_at":"2026-02-04T12:11:09.383Z","repository":{"id":256151685,"uuid":"849670161","full_name":"vasilii-kovalev/issue-tracker","owner":"vasilii-kovalev","description":"[WIP] Issue tracker application (for learning purposes)","archived":false,"fork":false,"pushed_at":"2025-06-20T05:30:56.000Z","size":1003,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-10T06:46:45.534Z","etag":null,"topics":["bun","css","fastify","javascript","jwt","prisma","react","react-router","redux-toolkit","rtk-query","sqlite","swagger","typescript","vite"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vasilii-kovalev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-08-30T02:53:21.000Z","updated_at":"2025-06-20T05:30:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"4ca569c2-f2ce-4399-a65c-ce60f5fc449b","html_url":"https://github.com/vasilii-kovalev/issue-tracker","commit_stats":null,"previous_names":["vasilii-kovalev/issue-tracker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vasilii-kovalev/issue-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasilii-kovalev%2Fissue-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasilii-kovalev%2Fissue-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasilii-kovalev%2Fissue-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasilii-kovalev%2Fissue-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vasilii-kovalev","download_url":"https://codeload.github.com/vasilii-kovalev/issue-tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vasilii-kovalev%2Fissue-tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29084095,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T03:31:03.593Z","status":"ssl_error","status_checked_at":"2026-02-04T03:29:50.742Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bun","css","fastify","javascript","jwt","prisma","react","react-router","redux-toolkit","rtk-query","sqlite","swagger","typescript","vite"],"created_at":"2026-02-04T12:11:08.716Z","updated_at":"2026-02-04T12:11:09.362Z","avatar_url":"https://github.com/vasilii-kovalev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Issue tracker\n\n## Introduction\n\nThis repository contains an issue tracker application, implemented with different technical stacks.\n\nI use it to learn and experiment with different technologies, which I think shine better in complex projects rather than simple ones (like TODO applications). And issue tracker seems a good type of application for it, because it requires:\n\n* Multiple pages\n* Lazy data loading\n* Complex models and relations between them\n* Complex permissions model\n* Authorization\n* Customization of almost everything on multiple levels (application instance, project, user)\n* UI components of different complexity: text, buttons, forms, dropdown, charts, tables, etc.\n* Form validation\n\n## Features\n\n* Each implementation is called \"application\"\n* Focus on frontend technologies mostly\n* Minimalistic server with Prisma as ORM and SQLite as database\n* No deployed preview. Since there will be no focus on the server, its optimization and security, the server will not be deployed anywhere and can only be observed locally. Instructions for it are provided in each application's `README.md` file\n  * I tried to use IndexedDB with [Dexie](https://dexie.org) to avoid relying on a dedicated server and serve the preview of the applications via GitHub Pages, but realized that too much code will be shipped alongside the \"frontend\" part, slowing it down and making the code harder to maintain\n* Markdown support in text fields (issue description, comments, etc.)\n* No query language support (like [JQL](https://www.atlassian.com/blog/jira/jql-the-most-flexible-way-to-search-jira-14)). A visual filter is provided instead\n\n## Documentation\n\nThe project's documentation can be found [here](./documentation).\n\n## Applications\n\n### Server\n\nStatus: in progress.\n\n[Link to source code](./server)\n\n#### Technologies\n\n* [Bun](https://bun.sh)\n* [Fastify](https://fastify.dev)\n* [Prisma](https://www.prisma.io)\n* [SQLite](https://www.sqlite.org)\n* [TypeScript](https://www.typescriptlang.org)\n\n### Application 01\n\nStatus: in progress.\n\n[Link to source code](./application-01)\n\n#### Technologies\n\n* [Bun](https://bun.sh)\n* [CSS Modules](https://github.com/css-modules/css-modules)\n* [React Router](https://reactrouter.com)\n* [React](https://react.dev)\n* [Redux Toolkit](https://redux-toolkit.js.org)\n* [RTK Query](https://redux-toolkit.js.org/rtk-query/overview)\n* [TypeScript](https://www.typescriptlang.org)\n* [UUI](https://uui.epam.com)\n* [Vite](https://vite.dev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvasilii-kovalev%2Fissue-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvasilii-kovalev%2Fissue-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvasilii-kovalev%2Fissue-tracker/lists"}