Dev | Staging | Master
Welcome to my mono repo madClones. Started as a small monolith project to build a trello clone, it turned out to be the best project I ever started: it is basically my playground and I have lots of fun with it.
You will not only see a wide variety of front end technologies and a couple of microservices written in different languages and frameworks, but also an emphasis on software design and architecture.
I am a fan of Software Craftsmanship, TDD, BDD and CI practices; therefore this project's main goal is to follow all the coding standard and best practices.
Do no hesitate to contribute and/or send me feedback on twitter.
- Create a team and add boards in it or directly add them in your personal boards.
- Star and unstar all your boards.
- Card view that allows to add cards, card items
- Move card items between cards.
- Boards menu. The user clicks on the boards button available in the header and can see all the boards (starred, personal and organisations) previously created.
-
Client: Fix the boards menu filter Fix cards view not rendering correctly when it updates Update board name and star it from the cards view
-
Server: Users microservice that handles authentication (signin: validates user and generate token, signup, signout, signcheck: validates token). Trello microservice that handles boards and cards. Deploy microservices with kubernetes on google cloud. Add continuous integration with travis
- ReactJs
- Vue.js
- Express
- NodeJS
- MongoDB
- Docker
- Kubernetes
- Electron
- Rabbimq (not sure yet)
- Graphql
- Star the repo
- Follow me on twitter @datmadmmous
- Submit pull requests and improve the repo overall quality
ES6: if you want to quickly be up to date with javascript best practices, AirBNB repo is a gold mine. Read it.
React: AirBnB and RisingStack
NodeJS: again I will redirect you to RisingStack. They are awesome and they care about open source.
CodinGame: practicing your algorithm solving skills is a great way to write better code. CodinGame will push you to another level by making you think about the correct data structure, api and algorithm, to use.
React Trello Board: I used their implementation of React Drag and Drop because it is great
- Start with the open issues
- No direct commit on master or develop.
- Create a branch from develop with issue number as a name. Example: TOC I#1 (TOC = Trello Clone and I = issue)
- Code should be accompanied with unit tests with 100% code coverage (whether it is on the client side or the server side).
- Make a pull request.
- End to end testing are not required for now.
- 1.0.0 first release of trello clone
- 2.0.0 add board view with cards and card items
- 3.0.0 add boardsmenu
- Release version 1.0.0
- Release version 2.0.0
- Release version 3.0.0
- Deploy react client on amazon web services S3
- Deploy express server on amazon web services ECS
- Add a white background color to each board section (star, user and users)
- Work on board header in home page : list boards and create features
- Make UI responsive
The repository is divided into two folders. The Client which contains a react and a vue application and the Server which contains microservices.
I am very happy with the way both applications are structured and working daily to improve on it.