Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Madmous/madClones
A collection of frameworks that I love with a strong focus on clean code, testing, software architecture/design and devops.
https://github.com/Madmous/madClones
docker docker-compose expressjs javascript kubernetes microservices microservices-architecture mongodb nodejs react redux trello-clone
Last synced: 3 months ago
JSON representation
A collection of frameworks that I love with a strong focus on clean code, testing, software architecture/design and devops.
- Host: GitHub
- URL: https://github.com/Madmous/madClones
- Owner: Madmous
- License: mit
- Created: 2016-11-18T21:18:21.000Z (almost 8 years ago)
- Default Branch: develop
- Last Pushed: 2018-02-20T07:07:18.000Z (over 6 years ago)
- Last Synced: 2024-06-28T14:35:46.471Z (4 months ago)
- Topics: docker, docker-compose, expressjs, javascript, kubernetes, microservices, microservices-architecture, mongodb, nodejs, react, redux, trello-clone
- Language: JavaScript
- Homepage:
- Size: 5.94 MB
- Stars: 503
- Watchers: 32
- Forks: 65
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MadClones
Dev | Staging | Master
[![Build Status](https://travis-ci.org/Madmous/madClones.svg?branch=develop)](https://travis-ci.org/Madmous/madClones)
[![Build Status](https://travis-ci.org/Madmous/madClones.svg?branch=staging)](https://travis-ci.org/Madmous/madClones)
[![Build Status](https://travis-ci.org/Madmous/madClones.svg?branch=master)](https://travis-ci.org/Madmous/madClones)[![Join the chat at https://gitter.im/dwyl/chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/madmous/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link) [![Twitter URL](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/datMadmous)
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](https://twitter.com/datmadmous).
## Releases
### Version 1.0.0
* Create a team and add boards in it or directly add them in your personal boards.
* Star and unstar all your boards.### Version 2.0.0
* Card view that allows to add cards, card items
* Move card items between cards.### Version 3.0.0
* 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.
### Version 4.0.0
* 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
## Main technologies
* ReactJs
* Vue.js
* Express
* NodeJS
* MongoDB
* Docker
* Kubernetes## Technologies to be added
* Electron
* Rabbimq (not sure yet)
* Graphql## Support
* Star the repo
* Follow me on twitter [@datmadmmous](https://twitter.com/datmadmous)
* Submit pull requests and improve the repo overall quality## Where to get help
[ES6](https://github.com/airbnb/javascript): if you want to quickly be up to date with javascript best practices,
AirBNB repo is a gold mine. Read it.React: [AirBnB](https://github.com/airbnb/javascript/tree/master/react) and
[RisingStack](https://blog.risingstack.com/react-js-best-practices-for-2016/)NodeJS: again I will redirect you to [RisingStack](https://blog.risingstack.com/node-js-best-practices/).
They are awesome and they care about open source.[CodinGame](https://www.codingame.com/home): 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.## Inspiration
[React Trello Board](https://github.com/web-pal/react-trello-board): I used their implementation of React Drag and Drop because it is great
## Contribution guidelines
1. Start with the open issues
1. No direct commit on master or develop.
2. Create a branch from develop with issue number as a name. Example: TOC I#1 (TOC = Trello Clone and I = issue)
4. Code should be accompanied with unit tests with 100% code coverage (whether it is on the client side or the server side).
5. Make a pull request.
6. End to end testing are not required for now.## Updates
* 1.0.0 first release of trello clone
* 2.0.0 add board view with cards and card items
* 3.0.0 add boardsmenu## Achievements
* 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## Areas for Improvements / involvement
* 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## Repository structure
The repository is divided into two folders. The [Client](https://github.com/Madmous/Trello-Clone/blob/develop/client/) which contains a react and a vue application and the [Server](https://github.com/Madmous/Trello-Clone/blob/develop/server/) which contains microservices.
I am very happy with the way both applications are structured and working daily to improve on it.