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 of this project is to create a real-life application/platform from the ground up using top trending technologies & describe all the steps in the 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!
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 - join a new Slack channel to get updates & track progress: SLACK CHANNEL
It will be also used for talks about development, new features & ideas.