DEV Community

Cover image for React, Reactive Microservices, Kubernetes, GraphQL & gRPC - Announcing Appwish - Fullstack Tutorial Series & Opensource Project
Patryk Jeziorowski
Patryk Jeziorowski

Posted on • Edited on • Originally published at talkoverflow.com

React, Reactive Microservices, Kubernetes, GraphQL & gRPC - Announcing Appwish - Fullstack Tutorial Series & Opensource Project

Hello everyone!

In the next few days, I'll start publishing posts on building Appwish - a platform where people can express their app wishes (e.g. "I wish I had an app for X and Y") and vote up other people's great ideas.

Developers can use Appwish to keep track of the most wanted apps and features. They can assign themselves to projects, create dev teams and collaborate to fulfil people's needs.

In the future, the platform could also introduce elements of fund-raising or voluntary donations for the most appreciated developers and teams.

In the project and tutorials I'll use all of the following concepts and technologies (& more)

  • React.js - for building modern web UI
  • GraphQL - for data exchange between UI and backend microservices
  • gRPC - for backend inter-service communication
  • Docker - for packaging applications
  • Docker Compose - for setting up local development environment
  • Vert.x - for creating high-performance, reactive microservices
  • Kubernetes - for container orchestration
  • Real-Time Data Streaming via gRPC & GraphQL
  • Microservices architecture

If the project goes well, there's even more stuff in plans:

  • Istio - additional layer on top of Kubernetes for managing service-to-service communications between microservices
  • Many of the Cloud Native Computing Foundation projects like
    • Jaeger - for distributed tracing
    • Prometheus - for system monitoring
  • React Native - for iOS & Android client (or other mobile native framework, contributions are welcome!)

The Goal

The goal of this project is to create a real-life application/platform using top trending technologies & describe all the steps in educational tutorial series. If the project goes well, it may be released someday!

Contributions are welcome!

After I set up the initial project skeleton I'd appreciate any contributions from people who would like to collaborate in app development and/or learn hands-on.

Frontend, Backend, DevOps - doesn't matter - you'll find your place here. There's lots to do!

Final Words

If you like (or don't) the idea - share your thoughts and let me know in the comments or on social media - I'd really appreciate it! You can also let me know if you'd prefer the tutorial in the form of blog posts or videos :) Thank you for reading!

EDIT:
Now you can also join us on Slack to learn more about the project - https://join.slack.com/t/appwish/shared_invite/enQtODk2NjE1ODkyMjMwLTU4NTNhYzBmYmI0MzNiNmJjNDU4MzRkNjI4ZTc4NWZmMzMyMTZmNWFjNDAzNTIwMDYzY2U5YWVhMTRkZGIyNmI

Latest comments (95)

Collapse
 
sukhwant profile image
Sukhwant Prafullit • Edited

Interesting. I would join too. I have used Java and micro-services, would like to learn react and graphQL

Collapse
 
pmlopes profile image
Paulo Lopes

Hi @pjeziorowski , really good initiative, on the vert.x side, I can also add that vert.x is a polyglot framework, which means that you can use Java and also use JavaScript if you like.

I see that there is interest on JavaScript so if you want to showcase the polyglot aspect, please also look at reactiverse.io/es4x/ which is the successor of the current javascript binding.

Collapse
 
pjeziorowski profile image
Patryk Jeziorowski

This reactiverse.io/es4x/ looks dope :) I've never heard of somebody using Vert.x with JS extensively though

Collapse
 
jysh profile image
Jayesh Patel

Spring Webflux is a Java based framework if we're interested in Reactive Stack.

Collapse
 
pjeziorowski profile image
Patryk Jeziorowski

At the moment there are no plans to use Spring - vertx.io/

Collapse
 
chadirahme profile image
chadirahme

I am excited to be a member of this project. Please consider me as one of the contributors ;)

Collapse
 
omkaragrawal profile image
OMKAR AGRAWAL

Hey, I am just a begginer and I would love to be a part of this great project. Really love the idea.

Collapse
 
jagadeeswar_h profile image
jagadeeswar

I would love to contribute but I am a beginner in react

Collapse
 
pjeziorowski profile image
Patryk Jeziorowski

You can join Slack - join.slack.com/t/appwish/shared_in...

You'll get updates about the project here.

We'll add tasks to Github board, you may find something that suits you soon.

Collapse
 
avelang profile image
Abey Velangadan

Damn cool stuff! I'm a decade old developer with a perpetual imposter syndrome! Time to get my hands dirty! This project is so exciting. Thanks for doing this! I'm definitely going to learn a lot and hopefully be contributing in a big way as well! Add me please

GitHub account: @avelang
Email address: abey[dot]velangadan[at]gmail[dot]com

Collapse
 
pjeziorowski profile image
Patryk Jeziorowski

Great! I'll add you soon - you can also join us on Slack :)

Collapse
 
helipilot50 profile image
Peter Milne

I’m in. I am the architect on a similar project at an AtTech company in Europe.

Collapse
 
pjeziorowski profile image
Patryk Jeziorowski

It would be great to have you on the board :)

We'll be discussing the architecture / plans & tech stack soon on Slack - would be great if you joined us.

join.slack.com/t/appwish/shared_in...

Collapse
 
jlpnunes profile image
Jorge Nunes • Edited

I am interested. I have very good experience with Java and some experience with RPC, Python, GraphQL. Please add me to the project. I am looking forward to learn new techs.
email: jlpnunes@gmail.com

Collapse
 
pjeziorowski profile image
Patryk Jeziorowski

Sure! I'll add you to the org. on Github - you can also join Slack channel to get more info.

Collapse
 
protagonist51 profile image
protagonist51

Hey @pjeziorowski , I'm interested in react contribution.
My GitHub id- protagonist51

Collapse
 
pjeziorowski profile image
Patryk Jeziorowski

I'll send you invite on Github. Feel free to join the Slack channel aswell :)