{"id":23043018,"url":"https://github.com/szymonpoltorak/corn","last_synced_at":"2026-04-08T23:35:11.294Z","repository":{"id":232980983,"uuid":"711198523","full_name":"szymonpoltorak/Corn","owner":"szymonpoltorak","description":"Team project on Warsaw University of Technology. Our aim is to create an app that suits small scrum teams.","archived":false,"fork":false,"pushed_at":"2024-05-18T10:34:00.000Z","size":3399,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-03T22:41:14.861Z","etag":null,"topics":["angular-17","angular-material","angular-pwa","docker","java","keycloak","nginx","postgresql","spring-boot","spring-data","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/szymonpoltorak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2023-10-28T14:04:56.000Z","updated_at":"2024-05-27T15:20:45.000Z","dependencies_parsed_at":"2024-04-15T19:56:29.417Z","dependency_job_id":"76cd52b3-cb69-46b4-8381-1c17c2983729","html_url":"https://github.com/szymonpoltorak/Corn","commit_stats":null,"previous_names":["szymonpoltorak/corn"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/szymonpoltorak/Corn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szymonpoltorak%2FCorn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szymonpoltorak%2FCorn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szymonpoltorak%2FCorn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szymonpoltorak%2FCorn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/szymonpoltorak","download_url":"https://codeload.github.com/szymonpoltorak/Corn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szymonpoltorak%2FCorn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31579056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"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":["angular-17","angular-material","angular-pwa","docker","java","keycloak","nginx","postgresql","spring-boot","spring-data","tailwindcss"],"created_at":"2024-12-15T20:38:35.122Z","updated_at":"2026-04-08T23:35:11.278Z","avatar_url":"https://github.com/szymonpoltorak.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Corn\n\nTeam project with aim to create an open source developer collaboration platform for small teams. We are creating\napplication that is built of few components.\n\n* Frontend client,\n* Backend server,\n* Keycloak Auth Server,\n* Nginx Reverse Proxy,\n* Postgres database.\n\nWhole application has been made in spirit of clean code and architecture. We are thinking about security and performance\nbest practices. Project is deeply tested on backend site and uses Github Actions for CI/CD.\n\n## Database diagram\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/db.drawio.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n## How to run\n\nApplication uses docker compose technology to run all components. To run application you have to install docker.\n\nWe have to different ways to start application.\n\n1. Using docker compose command directly\n\n* Clone repository \n* Go to root directory\n* If you want development environment run \n\n```bash \ndocker compose -f docker-compose.dev.yml up --build\n```\n\n* If you want production environment run\n\n```bash\ndocker compose -f docker-compose.prod.yml up --build\n```\n\n2. Using scripts. We provided linux shell scripts that are able to run application in development and production mode. Just pick the right one and run it.\nFor example if you want to run application in development mode run:\n\n```bash\ncd scripts/dev\n\n./run.dev.sh\n```\n\n## Tech stack\n\nApplication was managed using Scrum with aid of Jira.\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/technology_stack.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n1. Frontend\n\n* Angular 17,\n* Angular Material,\n* Angular PWA,\n* Keycloak Service,\n* Nginx,\n* NgIcons,\n* TypeScript,\n* Docker,\n* Tailwind CSS,\n* Scss\n\n2. Backend\n\n* Java 17,\n* Spring Boot 3.1.5,\n* Spring Data Jpa,\n* Spring Security,\n* Spring Boot Validation,\n* Hibernate,\n* Postgres,\n* OAuth2 Resource Server,\n* Mockito,\n* JUnit,\n* H2 Database,\n* KeyCloak,\n* Mapstruct,\n* Lombok.\n\n## Screenshots\n\n* Login\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/login.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Register\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/register.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Security settings\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/security_settings.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Projects\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/projects_list.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Project settings\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/project_settings.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Sprints\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/sprints.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Sprints Burndown\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/sprint_burndown.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Task\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/task.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Task Comments\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/task_comments.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Creating new backlog item\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/new_item.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Tasks in Boards\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/board_no_group.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Tasks grouped by member\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/board_group_member.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n\n* Timeline\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"screenshots/timeline.png\" alt=\"TechStack\"\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszymonpoltorak%2Fcorn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fszymonpoltorak%2Fcorn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszymonpoltorak%2Fcorn/lists"}