Skip to content

Commit 4fe6ef6

Browse files
committed
Update README
1 parent eaaa666 commit 4fe6ef6

File tree

3 files changed

+64
-32
lines changed

3 files changed

+64
-32
lines changed

README.md

Lines changed: 64 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# A simplified Jira clone built with Angular 9 and Akita
22

3-
> It is still <u>under development</u>. I am planning to build it in about two weeks (13 - 27 Jun 2020) in my spare time. After finished Phase 1 coding , I will gradually publish a series of tutorial how I built it from scratch.
3+
> Phase 2 will be started very soon with a lot of exciting features: GraphQL, Authentication, and more.
44
5-
This project is basically a clone of another open source Jira clone build in `React` and `VueJS` (you could say `a clone of a clone application` I know). I though it would be a great candidate of a modern, real-world Angular codebase and it really helps me to strengthen my knowledge about Angular.
5+
I got the motivation from the similar clone app written in `React`/`VueJS`. And I thought **Why not Angular**? So here you go. It is a simplified Jira clone built with Angular 9.
66

7-
I like working with interactive UI because it is challenging, but also very exciting.
7+
It is an example of a **modern**, **real-world** Angular codebase. Working on this project helped me to strengthen my knowledge about Angular.
88

99
## Working application
1010

11-
Check out the live demo -> https://jira.trungk18.com
11+
Check out the **live demo** -> https://jira.trungk18.com
1212

13-
--> SCREENSHOT GIF
13+
![Jira clone built with Angular 9 and Akita][demo]
1414

1515
If you like my work, feel free to:
1616

@@ -23,33 +23,46 @@ Thanks for visiting and your support :)
2323

2424
## Who is it for 🤷‍♀️
2525

26-
I do Angular development and this is a showcase product I've built in my spare time to experiment the new library that I wanted to try before: `Akita`, `TailwindCSS`, `ng-zorro`.
26+
I have been working with Angular for about four years. I built cool stuff at [Zyllem][zyllem] but almost all of them are internal apps which is difficult to show.
2727

28-
There are many showcase/example Angular 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 Angular developers of all skill levels while still being _relatively_ easy to understand.
28+
This is a showcase application I've built in my spare time to experiment the new library that I wanted to try before: `Akita`, `TailwindCSS`, `ng-zorro`.
29+
30+
There are many Angular examples on the web but most of them are way too simple. I like to think that this codebase contains enough complexity to offer valuable insights to Angular developers of all skill levels while still being _relatively_ easy to understand.
2931

3032
---
3133

32-
This application is a part of our technical series [angular-vietnam/100-days-of-angular][100days]. It sets a new target that after 100 days of learning Angular through with us, everyone can build the application at the same scale. We also want to bring Angular to a broader developer community in Vietnam.
34+
This application is a part of our technical series [angular-vietnam/100-days-of-angular][100days] with a clear target: after 100 days of learning Angular through with us, **everyone can build the application at the same scale**. We also want to bring Angular to a **broader** developer community in Vietnam.
35+
36+
[zyllem]: https://www.zyllem.com/
3337

3438
## Tech stack
3539

3640
![Tech logos][stack]
3741

38-
- Angular CLI
39-
- Akita state management
40-
- NestJS
42+
- [Angular CLI][cli]
43+
- [Akita][akita] state management
44+
- [NestJS][nestjs]
4145
- UI modules:
42-
- TailwindCSS
43-
- Angular CDK drag and drop
44-
- ng-zorro UI component: `tooltip`, `dropdown`, `icon`
45-
- ngx-quill
46-
- Netlify
46+
- [TailwindCSS][tailwind]
47+
- Angular CDK [drag and drop][cdkdrag]
48+
- [ng-zorro][ng-zorro] UI component: `tooltip`, `dropdown`, `select`, `icon`
49+
- [ngx-quill][quill]
50+
- [Netlify][netlify]
51+
- [Heroku][heroku]
52+
53+
[cli]: https://cli.angular.io/
54+
[akita]: https://datorama.github.io/akita/
55+
[nestjs]: https://nestjs.com/
56+
[tailwind]: https://tailwindcss.com/
57+
[cdkdrag]: https://material.angular.io/cdk/drag-drop/overview
58+
[ng-zorro]: https://ng.ant.design/docs/introduce/en
59+
[quill]: https://github.com/KillerCodeMonkey/ngx-quill
60+
[netlify]: https://www.netlify.com/
61+
[heroku]: https://www.heroku.com/
4762

4863
## Features and Roadmap
4964

50-
I built it as the side project so It usually took longer than expected. One day, my team and I did the fire fighting on PROD until 11PM. After taking shower, I continue with Angular Jira clone for another two hours...
51-
52-
I set the tentative deadline to motivate myself to finish it on time. Otherwise, It will take forever to finish :)
65+
I set the tentative deadline to motivate myself to finish it on time. Otherwise, It will take forever to complete :)
5366

5467
### Phase 1 - Angular application and simple Nest API
5568

@@ -59,49 +72,66 @@ I set the tentative deadline to motivate myself to finish it on time. Otherwise,
5972
- [x] Simple drag and drop kanban board
6073
- [x] Add/update issue
6174
- [x] Search/filtering issues
62-
- [ ] Comments
75+
- [x] Add comments
6376

64-
> Noted: All of your interaction with data such as comment or change the issue detail will not be saved to the persistent database. Currently, the application will serve a fixed structure of data every time you open the app. It mean, if you reload the browser, all of your changes will be gone.
77+
> Noted: All of your interactions with data such as a comment or change the issue detail will not be saved to the persistent database. Currently, the application will serve a fixed structure of data every time you open the app. It means if you reload the browser, all of your changes will be gone.
6578
>
66-
> Phase 2 will bring you a proper API where you can login and save your work.
79+
> Phase 2 will bring you a proper API where you can log in and save your work.
6780
68-
During working with this application, I have the opportunity to revisit some of the interesting topic:
81+
While working with this application, I have the opportunity to revisit some of the interesting topics:
6982

7083
- TailwindCSS configuration - that's awesome
7184
- Scrollable layout with Flexbox
7285
- Deploy Angular application to Netlify
7386

87+
I will take two weeks break to continue working with the [typescript-data-structures][typescript-dsa] repo.
88+
89+
[typescript-dsa]: https://github.com/trungk18/typescript-data-structures
90+
7491
### Phase 2
7592

76-
> July 4 - 19, 2020
93+
> July 10 - 25, 2020
7794
7895
- [ ] GraphQL API and store data on the actual database
7996
- [ ] Authentication
8097
- [ ] Websocket realtime update
8198
- [ ] Interactive report
8299

100+
## Time spending
101+
102+
I built it as the side project so It usually took longer than expected. One day, my team and I were fire fighting on PROD until 11 PM. After taking a shower, I continue with Angular Jira clone for another two hours...
103+
104+
According to waka time report, I have spent about 45 hours working on this project. Which is equivalent to watch the [whole Stranger Things series twice][stranger].
105+
106+
I enjoyed working on this project. The interactive kanban board took me sometimes, it is challenging but exciting at the same time.
107+
108+
[stranger]: [https://www.bingeclock.com/s/stranger-things/]
109+
110+
![Jira clone built with Angular 9 and Akita - Time spending][time]
111+
83112
## What's currently missing?
84113

85-
There are features missing from the live demo which should exist in a real product and should be finished on Phase 2:
114+
There are missing features from the live demo which should exist in a real product. All of them will be finished on Phase 2:
86115

87116
### Proper backend API
88117

89-
I am currently using a `json` file for storing data on the backend. I am planning to write a graphQL API soon in order to learn more about that.
118+
I built a very simple NestJS API to send a fixed data structure to the client. All of your interactivity with data will only be saved on the memory. If you refresh the page, it will be gone. Phase 2 will bring the application to live by saving the data into a database.
90119

91120
### Proper authentication system 🔐
92121

93-
I am 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 you have to to implement a proper [email and password authentication system](https://www.google.com/search?q=email+and+password+authentication+node+js&oq=email+and+password+authentication+node+js).
122+
I am currently sending a fixed email and a random password to the server to get the current user back. Phase 2 will also bring a proper authentication system.
94123

95124
### Accessibility ♿
96125

97-
Not all components have properly defined [aria attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA), 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 users starts growing.
126+
Not all components have properly defined [aria attributes](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA), visual focus indicators, etc.
98127

99128
## Setting up development environment 🛠
100129

101130
- `git clone https://github.com/trungk18/jira-clone-angular.git`
102131
- `cd jira-clone-angular`
103132
- `npm run install-dependencies`
104-
- `cd frontend && npm start`
133+
- `npm run start:back` for the API
134+
- `npm run start:front` for angular web application
105135
- App should now be running on `http://localhost:4200/`
106136

107137
### Unit/Integration tests 🧪
@@ -110,7 +140,7 @@ I skipped writing test for this project. I might do it for the proper backend Gr
110140

111141
## Author: Trung Vo ✍️
112142

113-
- A young and passionate front-end engineer. Working with Angular and TypeScript. Like photography, running, cooking and reading book.
143+
- A young and passionate front-end engineer. Working with Angular and TypeScript. Like photography, running, cooking, and reading books.
114144
- Personal blog: https://trungk18.com/
115145
- Say hello: trungk18 [et] gmail [dot] com
116146

@@ -126,13 +156,15 @@ Inspired by [oldboyxx/jira_clone][oldboyxx] and [Datlyfe/jira_clone][datlyfe]
126156

127157
## License
128158

129-
Feel free to use my code on your personal project. It would be great if you put a reference to this repository.
159+
Feel free to use my code on your project. It would be great if you put a reference to this repository.
130160

131161
[MIT](https://opensource.org/licenses/MIT)
132162

133163
[oldboyxx]: https://github.com/oldboyxx/jira_clone
134164
[datlyfe]: https://github.com/Datlyfe/jira_clone
135-
[stack]: https://github.com/trungk18/jira-clone-angular/raw/master/frontend/src/assets/img/jira-clone-tech-stack.png
165+
[stack]: frontend/src/assets/img/jira-clone-tech-stack.png
166+
[demo]: frontend/src/assets/img/jira-clone-angular-demo-trungk18.gif
167+
[time]: frontend/src/assets/img/time-spending.png
136168
[issues]: https://github.com/trungk18/jira-clone-angular/issues/new
137169
[pull]: https://github.com/trungk18/jira-clone-angular/compare
138170
[100days]: https://github.com/angular-vietnam/100-days-of-angular
3.27 MB
Loading
32 KB
Loading

0 commit comments

Comments
 (0)