Convert Figma logo to code with AI

oldboyxx logojira_clone

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

10,570
2,006
10,570
9

Top Related Projects

1,939

Python Jira library. Development chat available on https://matrix.to/#/#pycontribs:matrix.org

🔥 Feature-rich interactive Jira command line.

Quick Overview

The oldboyxx/jira_clone repository is a project that aims to create a clone of the popular project management tool Jira, using modern web technologies such as React, Redux, and Node.js. The project provides a comprehensive set of features for managing projects, tasks, and team collaboration.

Pros

  • Comprehensive Feature Set: The project offers a wide range of features, including task management, project planning, team collaboration, and reporting, making it a viable alternative to Jira.
  • Modern Technology Stack: The project utilizes a modern technology stack, including React, Redux, and Node.js, which ensures a high level of performance and maintainability.
  • Open-Source: The project is open-source, allowing developers to contribute, customize, and extend the functionality as needed.
  • Active Development: The project has an active community of contributors, ensuring regular updates and bug fixes.

Cons

  • Complexity: The project's comprehensive feature set and modern technology stack may make it challenging for beginners to set up and configure.
  • Limited Documentation: The project's documentation could be more comprehensive, which may make it difficult for new users to get started.
  • Potential Performance Issues: Depending on the scale of the project and the number of users, the application may face performance challenges, which would need to be addressed.
  • Lack of Enterprise-Level Features: While the project aims to be a Jira clone, it may not have all the enterprise-level features and integrations that Jira offers.

Getting Started

To get started with the oldboyxx/jira_clone project, follow these steps:

  1. Clone the repository:
git clone https://github.com/oldboyxx/jira_clone.git
  1. Install the dependencies:
cd jira_clone
npm install
  1. Start the development server:
npm start

This will start the development server and open the application in your default web browser. You can now explore the various features and functionalities of the Jira clone.

Competitor Comparisons

1,939

Python Jira library. Development chat available on https://matrix.to/#/#pycontribs:matrix.org

Pros of jira

  • Official Python library for Atlassian JIRA, providing comprehensive API coverage
  • Well-documented with extensive examples and usage guides
  • Actively maintained with regular updates and bug fixes

Cons of jira

  • Steeper learning curve due to its extensive feature set
  • Requires more setup and configuration compared to jira_clone
  • May be overkill for simple JIRA integrations or small projects

Code Comparison

jira:

from jira import JIRA

jira = JIRA(server="https://your-domain.atlassian.net", basic_auth=("email", "api_token"))
issue = jira.create_issue(project="PROJECT_KEY", summary="Issue Summary", description="Issue Description", issuetype={"name": "Bug"})

jira_clone:

const issue = await api.issues.create({
  projectId: 'PROJECT_ID',
  title: 'Issue Summary',
  type: 'bug',
  description: 'Issue Description'
});

The jira library offers a more comprehensive API with detailed configuration options, while jira_clone provides a simpler, more streamlined approach for basic JIRA-like functionality. jira is better suited for complex integrations with actual JIRA instances, whereas jira_clone is ideal for learning purposes or building a JIRA-inspired project management tool.

🔥 Feature-rich interactive Jira command line.

Pros of jira-cli

  • Command-line interface for easier integration with existing workflows
  • Supports multiple Jira instances and projects
  • Offers a wide range of Jira operations, including issue creation, updating, and querying

Cons of jira-cli

  • Limited to command-line functionality, lacking a graphical interface
  • Requires Jira server access, not a standalone clone
  • May have a steeper learning curve for users unfamiliar with CLI tools

Code Comparison

jira_clone (React component):

const Board = ({ board, issues, filters }) => (
  <BoardWrapper>
    {board.columns.map(column => (
      <Column key={column.id} column={column} issues={issues} filters={filters} />
    ))}
  </BoardWrapper>
);

jira-cli (Go command):

func (c *CreateCommand) Run(args []string) int {
	if err := c.setIssueType(); err != nil {
		return 1
	}
	if err := c.setProject(); err != nil {
		return 1
	}
	return c.create()
}

The jira_clone repository provides a full-stack Jira clone with a React frontend, offering a visual representation of Jira boards and issues. In contrast, jira-cli is a command-line tool written in Go, focusing on interacting with actual Jira instances through terminal commands. While jira_clone aims to replicate Jira's functionality in a standalone application, jira-cli serves as a complementary tool for existing Jira setups, catering to different use cases and user preferences.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

A simplified Jira clone built with React and Node

Auto formatted with Prettier, tested with Cypress 🎗

Visit the live app | View client | View API

Tech logos

App screenshot

What is this and who is it for 🤷‍♀️

I do React consulting and this is a showcase product I've built in my spare time. It's a very good example of modern, real-world React codebase.

There are many showcase/example React projects out there but most of them are way too simple. I like to think that this codebase contains enough complexity to offer valuable insights to React developers of all skill levels while still being relatively easy to understand.

Features

  • Proven, scalable, and easy to understand project structure
  • Written in modern React, only functional components with hooks
  • A variety of custom light-weight UI components such as datepicker, modal, various form elements etc
  • Simple local React state management, without redux, mobx, or similar
  • Custom webpack setup, without create-react-app or similar
  • Client written in Babel powered JavaScript
  • API written in TypeScript and using TypeORM

Setting up development environment 🛠

  • Install postgreSQL if you don't have it already and create a database named jira_development.
  • git clone https://github.com/oldboyxx/jira_clone.git
  • Create an empty .env file in /api, copy /api/.env.example contents into it, and fill in your database username and password.
  • npm run install-dependencies
  • cd api && npm start
  • cd client && npm start in another terminal tab
  • App should now be running on http://localhost:8080/

Running cypress end-to-end tests 🚥

  • Set up development environment
  • Create a database named jira_test and start the api with cd api && npm run start:test
  • cd client && npm run test:cypress

What's missing?

There are features missing from this showcase product which should exist in a real product:

Migrations 🗄

We're currently using TypeORM's synchronize feature which auto creates the database schema on every application launch. It's fine to do this in a showcase product or during early development while the product is not used by anyone, but before going live with a real product, we should introduce migrations.

Proper authentication system 🔐

We currently auto create an auth token and seed a project with issues and users for anyone who visits the API without valid credentials. In a real product we'd want to implement a proper email and password authentication system.

Accessibility ♿

Not all components have properly defined aria attributes, visual focus indicators etc. Most early stage companies tend to ignore this aspect of their product but in many cases they shouldn't, especially once their userbase starts growing.

Unit/Integration tests 🧪

Both Client and API are currently tested through end-to-end Cypress tests. That's good enough for a relatively simple application such as this, even if it was a real product. However, as the app grows in complexity, it might be wise to start writing additional unit/integration tests.

Contributing

I will not be accepting PR's on this repository. Feel free to fork and maintain your own version.

License

MIT


Visit the live app | View client | View API