{"id":31916896,"url":"https://github.com/ky-ler/kanban","last_synced_at":"2025-11-07T11:05:22.106Z","repository":{"id":317484627,"uuid":"1067203436","full_name":"ky-ler/kanban","owner":"ky-ler","description":"A full-stack Kanban-style project management application built with a Java/Spring Boot backend and a React/TypeScript frontend. The project is managed as a multi-repo using Git submodules and includes a containerized environment with Docker.","archived":false,"fork":false,"pushed_at":"2025-10-01T05:59:43.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-01T07:28:07.255Z","etag":null,"topics":["docker","full-stack","java","kanban","keycloak","postgresql","project-management","react","rest-api","spring-boot","typescript","vite"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ky-ler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-30T14:17:31.000Z","updated_at":"2025-10-01T05:59:47.000Z","dependencies_parsed_at":"2025-10-01T07:28:15.271Z","dependency_job_id":"61926fa9-831b-48e8-b413-0024130dba89","html_url":"https://github.com/ky-ler/kanban","commit_stats":null,"previous_names":["ky-ler/kanban"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ky-ler/kanban","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ky-ler%2Fkanban","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ky-ler%2Fkanban/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ky-ler%2Fkanban/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ky-ler%2Fkanban/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ky-ler","download_url":"https://codeload.github.com/ky-ler/kanban/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ky-ler%2Fkanban/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279016939,"owners_count":26085906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["docker","full-stack","java","kanban","keycloak","postgresql","project-management","react","rest-api","spring-boot","typescript","vite"],"created_at":"2025-10-13T20:14:52.857Z","updated_at":"2025-11-07T11:05:22.099Z","avatar_url":"https://github.com/ky-ler.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Full-Stack Kanban Application\n\nThis repository contains the complete source code for a full-stack Kanban-style project management application. The project is organized using Git submodules to manage the frontend and backend codebases within this single parent repository.\n\n- **Backend (`kanban-backend`):** A robust RESTful API built with Java and Spring Boot, secured with Auth0.\n- **Frontend (`kanban-web`):** A modern, responsive web application built with React, TypeScript, and Vite.\n\n## Tech Stack\n\n| Area         | Technologies                                                              |\n| :----------- | :------------------------------------------------------------------------ |\n| **Backend**  | Java 21, Spring Boot 3, Spring Security, PostgreSQL, JPA/Hibernate, Maven |\n| **Frontend** | React 19, TypeScript, Vite, TanStack Router, React Query, Tailwind CSS    |\n\n## Key Features\n\n- **Full CRUD Functionality:** Manage projects, tasks, and collaborators with ease.\n- **Role-Based Access Control (RBAC):** Secure API with fine-grained permissions for different user roles (e.g., ADMIN, MEMBER).\n- **Modern User Interface:** A clean, responsive, and intuitive interface for managing your workflow.\n- **Collaborator Management:** Add, remove, and update roles for team members on a per-project basis.\n\n## Getting Started\n\nFollow these instructions to get the entire application running locally.\n\n### Prerequisites\n\n- Java 21 (or later)\n- Maven\n- Node.js (v18 or later)\n- Docker or PostgreSQL\n\n### 1. Clone the Repository with Submodules\n\nThis repository uses Git submodules. To clone it correctly, you must use the `--recurse-submodules` flag:\n\n```sh\ngit clone --recurse-submodules https://github.com/ky-ler/kanban.git\ncd kanban\n```\n\nIf you have already cloned the repository without the flag, you can initialize the submodules by running:\n\n```sh\ngit submodule update --init --recursive\n```\n\n### 2. Run PostgreSQL\n\nYou can run the PostgreSQL database with Docker Compose. From the root of the project, run:\n\n```sh\n# This command starts the database and identity server in detached mode.\ndocker-compose up -d\n```\n\n- **PostgreSQL** will be available on port `8778`.\n\n### 3. Configure and Run the Backend\n\nNavigate to the backend directory and run the Spring Boot application using Maven.\n\n```sh\n# Navigate into the backend submodule\ncd kanban-backend\n\n# Ensure the issuer-uri in application.yml matches your Auth0 issuer uri, and the audiences is set to your Auth0 API audience.\n# (src/main/resources/application.yml)\n\n# Run the backend application\nmvn spring-boot:run\n```\n\nThe API will be available at `http://localhost:8080`.\n\n### 4. Configure and Run the Frontend\n\nIn a new terminal, navigate to the frontend directory, install dependencies, and start the development server.\n\n```sh\n# Navigate into the web submodule (from the root directory)\ncd kanban-web\n\n# Install dependencies\nnpm install\n\n# Create a .env file from the example\ncp .env.example .env\n\n# Ensure the variables in .env point to your running services\n# VITE_API_URL=http://localhost:8080/api\n# VITE_AUTH0_DOMAIN=your-auth0-domain\n# VITE_AUTH0_CLIENT_ID=your-auth0-client-id\n# VITE_AUTH0_AUDIENCE=your-auth0-audience\n\n# Run the frontend application\nnpm run dev\n```\n\nThe web application will be available at `http://localhost:5173`.\n\nYou should now have the full application running locally\\!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fky-ler%2Fkanban","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fky-ler%2Fkanban","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fky-ler%2Fkanban/lists"}