Nikocale stands for 'Niko-niko Calendar' which visualizes the mood and morale of members in the team/organization (Wikipedia). This software can make communication among the group smooth.
- HTML5
- CSS3
- SASS
- Actually I use SCSS
- JavaScript
- Using ES6 syntax
- Babel
- React
- Redux
- with Redux-saga
- Webpack
- Material-UI
- Websocket
- with SockJS
- AJAX
- with axios
- Kotlin
- Spring Framework
- used Spring Boot
- Doma
- PostgreSql
- VS Code
- IntelliJ
- Community Edition
- Adobe XD
- AWS
- Firebase
- only authentication
Follow the royal road to design a website.
I would like to use a pen and a paper to write wireframes, because it can make prototypes in insanely fast speed.
Used Adobe XD because it's free to use personally.
Nikocale consists of Front, Back-end separation infrastructure which a client sends a AJAX request and a server returns a response asynchronously because this application provides communication platform among team members. So it needs dynamic interactive UI without refreshing a page.
To build this application with high reliability and integrity, I implement clean architecture
Mainly use JavaScript and its popular frameworks.
For front-end development
In this application, there comes opportunities to change child components to another frequently. One of the most advantages of React is that React can swap component smoothly which Vue does same thing more difficult. Also, I want to use Redux for more flexible state management including UI components.
Redux can help React's data-flow and asynchronous collaboration much simpler than only using React. Also, it realizes UI state management and orchestration between many kinds of states with higher code readability than Vuex.
Server side architecture consists of Kotlin + Spring Framework + PostgreSql + Firebase.
For back-end development
This framework makes clean architecture implementation easy. In Ruby on Rails(most of my career I have used), it is hard to follow this design concept because Rails focuses to create MVC architecture-based application. On the other hand, Spring framework can build an application in various architectures including a clean architecture.
Firebase is used for only Authentication feature which only google account can be assigned in this application.
Nikocale is focused on users to build their own instances (you can imagine like Gitlab, jenkins...etc) and connect firebase in user's account so that their conversation can take place in their private space.
- Add priviledges to users
- Admin
- Maintainer
- Add how to develop this app to README.md