Skip to content

Guide · Open source

How to use jira_clone: setup, run and test the React Jira clone

Updated · written with AI from the project's own documentation and checked against our catalogue data

jira_clone is an open-source, simplified clone of the Jira project and issue tracking tool, built with a React client and a Node/TypeScript API. It is a showcase project meant for studying a real React codebase, not a replacement for Jira. This guide walks through what you need, how to get it running locally, how to run its Cypress end-to-end tests, and what it does not provide.

jira_cloneoldboyxx/jira_clone · ★ 11.1k · MIT

Quick start

  1. 1Check prerequisites. Install PostgreSQL and Node.js, then create a database named jira_development.
  2. 2Clone the repository. Run git clone on the oldboyxx/jira_clone repository to get the code locally.
  3. 3Create the API environment file. Create an empty .env file in /api, copy the contents of /api/.env.example into it, and add your database username and password.
  4. 4Install dependencies. Run npm run install-dependencies from the project root.
  5. 5Start the API and client. Run npm start in the api folder, then npm start in the client folder in a second terminal.
  6. 6Open the app and run tests. Visit http://localhost:8080/ in your browser. To run tests, create a jira_test database, start the API with npm run start:test, then run npm run test:cypress in the client folder.

What you need before you start

The project needs PostgreSQL and Node.js installed on your machine. The README asks you to create a database named jira_development for normal development, and a separate jira_test database for running the Cypress tests.

Setup involves editing an environment file and configuring database credentials, so it is best suited to developers who already have some experience with Node, PostgreSQL, or React.

  • PostgreSQL, with permission to create a database
  • Node.js
  • Git, to clone the repository

Install and configure jira_clone

Clone the repository, then create the environment file for the API. Copy the contents of the example file into your new file and fill in your database username and password.

Once the environment file is ready, install all dependencies with the project's helper script.

  • Create the jira_development database in PostgreSQL.
  • Create an empty .env file in the /api folder and copy /api/.env.example into it.
  • Fill in your database username and password in the .env file.
git clone https://github.com/oldboyxx/jira_clone.git npm run install-dependencies

Start the API and the client

The API and the client run as two separate processes. Start the API first in one terminal, then start the client in a second terminal tab.

When both are running, the app is available in your browser at the address the README gives.

  • Terminal 1: cd api && npm start
  • Terminal 2: cd client && npm start
  • Open http://localhost:8080/
cd api && npm start # in another terminal tab cd client && npm start

Run the Cypress end-to-end tests

The tests are end-to-end Cypress tests covering both the client and the API. Complete the development setup first, then create a separate database for tests.

Start the API in test mode so it uses the test database, then run the Cypress tests from the client folder.

  • Create a database named jira_test.
  • Start the API in test mode.
  • Run the Cypress command from the client folder.
cd api && npm run start:test # in another terminal tab cd client && npm run test:cypress

Understand the codebase and what is missing

The client is written in Babel-powered JavaScript using functional React components with hooks, custom webpack configuration, and simple local React state rather than Redux or MobX. The API is written in TypeScript and uses TypeORM. The features list mentions custom lightweight UI components such as a datepicker, modal, and form elements.

The README is explicit about gaps. It uses TypeORM's synchronize feature to create the schema on each launch, which the author says should be replaced with migrations before any real launch. Authentication is also a placeholder: the API creates an auth token and seeds sample data for anyone who visits without valid credentials. Accessibility is incomplete, and unit or integration tests are not present beyond the Cypress tests.

  • Schema: TypeORM synchronize, no migrations yet
  • Auth: no proper email and password system
  • Accessibility: aria attributes and focus indicators are incomplete
  • Testing: end-to-end Cypress only

Contributing and forking

The author states they will not accept pull requests on this repository. The project is MIT licensed, so the stated route for changes is to fork it and maintain your own version.

What people use it for

  • Studying how a functional-hooks React client is organized without Redux or MobX
  • Reading a TypeScript API that uses TypeORM with PostgreSQL
  • Learning end-to-end testing with Cypress across client and API
  • Forking the project as a starting point for a Jira-like app of your own

Frequently asked questions

Is jira_clone free to use?

Yes. The repository is licensed under the MIT License, which is linked from the README. You can use, fork, and modify it under those terms.

What are the requirements to run jira_clone?

The project needs PostgreSQL and Node.js. You also need to create a database named jira_development and configure an .env file in the api folder with your database credentials.

Can I use jira_clone as a production Jira replacement?

No. The README lists missing migrations, proper authentication, accessibility work, and unit or integration tests, and describes the project as a showcase rather than a product.

How do I run the tests for jira_clone?

Complete the development setup, create a database named jira_test, start the API with npm run start:test in the api folder, then run npm run test:cypress in the client folder.

Can I contribute changes back to jira_clone?

The author says they will not accept pull requests. The README suggests forking the repository and maintaining your own version instead.

What are alternatives to jira_clone?

The source lists react-admin, Taiga, Kanboard, and Wekan as comparable projects. jira_clone is a simplified React and Node codebase for learning, while these are generally used as full project or task management tools or frameworks.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

jira_clone suits React developers and students who want to study a non-trivial React and TypeScript codebase, or fork a Jira-like starting point. It is a poor choice if you need a production Jira replacement, want upstream contributions accepted, or have little experience with Node, PostgreSQL, and environment configuration.

Install options & downloads