Creator of "Jira Clone" here. First of all I want to make it clear that this is just a showcase/demo product. It's definitely not something I'm planning to sell. Additionally, it's not even remotely production ready, and it's missing about a zillion features that would make it a full-fledged project management software. The main reason I built this was to have a good showcase for potential future clients. The second…
A Simplified Jira Clone Built with React/Babel and Node/TypeScript
91–100 of 101 posts
Re: A Simplified Jira Clone Built with React/Babel and Node/TypeScript
#92One of my pet theories is that if you are building a software engineering product, you should never write your own tools. You can't sell them, and you'll just be learning lessons completely unrelated to your product. However; if you are building a software engineering culture, you should write as many of your own tools as you can get away with. Nothing builds culture like a shared unique experience.
Re: A Simplified Jira Clone Built with React/Babel and Node/TypeScript
#93Just randomly reading into React over this example, I'm surprised by how React itself confused me with the useState function.
useState is a memoization technique and an abstraction to hide global state. You can do: let _count = 0; function Component() { return ( {_count} { _count++; render(); }}>Increase ); } function render() { React.render( , root) } Or you can abstract it: let _count; function useCount(initialValue) { return [_count, (value) => { _count = value; render(); }] } function Component() { const [count, setCount] = useCount(0);…
Re: A Simplified Jira Clone Built with React/Babel and Node/TypeScript
#94Earlier quoted context omitted.
What do you prefer to Jira? At a former workplace we used Gitlab, which was a pleasant suite to use. These days we use Atlassian and often find myself incredibly frustrated by their products
We've been using https://subtask.co -- it has 3 pretty awesome features which I'm baffled why Trello doesn't have: - You can break down tasks into subtasks and those subtasks into subtasks themselves, etc - You can dynamically group task columns by who's working on them, what is their status, what is their goal, etc - You can arrange what's to be done on an effort-value grid, which helps immensely when choosing what…
Re: A Simplified Jira Clone Built with React/Babel and Node/TypeScript
#95Earlier quoted context omitted.
Thanks for sharing! You've got some nice patterns and utils in that repo. Random question: I noticed you switched from shorthand ` , ` to `React.Fragment` elements. Did you have a need to use keys somewhere and decided to update them all to be consistent? Just curious.
I switched because ` ` breaks syntax highlighting on Github for `.jsx` files. And since most people will be inspecting the code on Github, I thought it was worth switching.
Re: A Simplified Jira Clone Built with React/Babel and Node/TypeScript
#96Earlier quoted context omitted.
useState is a memoization technique and an abstraction to hide global state. You can do: let _count = 0; function Component() { return ( {_count} { _count++; render(); }}>Increase ); } function render() { React.render( , root) } Or you can abstract it: let _count; function useCount(initialValue) { return [_count, (value) => { _count = value; render(); }] } function Component() { const [count, setCount] = useCount(0);…
Does that render() call in the useState function would still render the changed elements only?
Re: A Simplified Jira Clone Built with React/Babel and Node/TypeScript
#97Earlier quoted context omitted.
Does that render() call in the useState function would still render the changed elements only?
No, render is global in this example. If you need to only render the component wrapping the useState, you have to track the caller (See https://github.com/facebook/react/blob/master/packages/react... )
Re: A Simplified Jira Clone Built with React/Babel and Node/TypeScript
#98Earlier quoted context omitted.
We've been using https://subtask.co -- it has 3 pretty awesome features which I'm baffled why Trello doesn't have: - You can break down tasks into subtasks and those subtasks into subtasks themselves, etc - You can dynamically group task columns by who's working on them, what is their status, what is their goal, etc - You can arrange what's to be done on an effort-value grid, which helps immensely when choosing what…
Looks good but I can't find anything on their pricing..?
Re: A Simplified Jira Clone Built with React/Babel and Node/TypeScript
#99I’ve found that keeping separate ‘package.json’ files in a client/ and server/ directory (and thus, having separate node_modules/ directories) leads to some annoying issues down the road. I’ve heard that lerna[0] is maybe one tool that can help avoid this type of setup: does anyone have experience with this or recommend any other ways to organize separate dependency configurations within one mono-repo? [0]: https://g…
It falls apart especially quickly when adding an iOS, TV (JS) or other client (or server) codebase.
To resolve the multiple node_module directories you can use tooling like Workspaces[0] (with both npm and yarn) which hoists the node_modules to a "workspace level".
I'd be interested in hearing other annoying issues you have with multiple package.json files.
Re: A Simplified Jira Clone Built with React/Babel and Node/TypeScript
#100Earlier quoted context omitted.
Does that render() call in the useState function would still render the changed elements only?
No, render is global in this example. If you need to only render the component wrapping the useState, you have to track the caller (See https://github.com/facebook/react/blob/master/packages/react... )
... or you can use something like Statium's ViewModel, which is basically a hierarchically linked, locally scoped state container component: https://github.com/riptano/statium
RealWorld example: https://github.com/nohuhu/react-statium-realworld-example-ap...
Sorry... Just... Couldn't... :)