gitmyhub

jira_clone

JavaScript ★ 11k updated 2y ago

A simplified Jira clone built with React/Babel (Client), and Node/TypeScript (API). Auto formatted with Prettier, tested with Cypress.

A simplified Jira clone built as a real-world showcase using React, TypeScript, and PostgreSQL, intended as a learning reference showing how a production-quality full-stack app is structured.

JavaScriptTypeScriptReactPostgreSQLTypeORMWebpackCypresssetup: moderatecomplexity 3/5

This repository is a simplified clone of Jira, the popular project management tool. It was built by a React consultant as a personal showcase project to demonstrate what a real-world React codebase looks like in practice. The goal is to provide developers with a reference that is complex enough to be genuinely instructive while still being approachable.

The project is split into two parts: a client and an API. The client is written in JavaScript using React, relying entirely on functional components and React built-in hooks rather than external state management libraries like Redux. The developer built custom UI components from scratch, including things like a datepicker and modal dialogs, rather than pulling them from a component library. The build setup uses webpack configured manually rather than a starter tool. The API is written in TypeScript and uses TypeORM, a tool that maps code objects to database tables in PostgreSQL.

To run the project yourself, you install PostgreSQL, clone the repo, create a local database named jira_development, fill in an environment file with your database credentials, install dependencies, and start both the client and API in separate terminal sessions. The app then runs locally in your browser. Automated end-to-end tests are included using Cypress, which simulates real user interactions in the browser.

The README is transparent about what the project intentionally omits. There is no proper user authentication: anyone who visits the API gets a token and a seeded project automatically. Database schema changes are handled by an auto-sync feature that reconstructs the schema on every launch, which would not be safe in a real production environment. Accessibility attributes on UI components are incomplete, and there are no unit or integration tests beyond the Cypress suite.

The repository does not accept pull requests. It is intended as a reference and a learning resource, not an actively developed product. The code is available under the MIT license, so you can fork it and modify it freely for your own purposes.

Where it fits