TL;DR Developing serverless web applications is fun and easy. You can build your own Mood-o-Meter app by following the simple steps here. If you’re interested in building fully featured serverless apps hosted on your own domain with user authentication and other cool features then read this excellent tutorial https://serverless-stack.com/
I’ve created a small web app to demo basic principles of a Serverless architectures on AWS using Lambda, API Gateway and DynamoDB while preparing for a Brown Bag at work. I’ve used a serverless approach in previous workplaces with great success so I wanted to introduce my new peers to the power of the let-them-scale-it mindset.
I’ve decided to create the Mood-o-Meter app for two reasons. Measuring team mood is an interesting concept on its own that has been in circulation on various Leadership/Agile meetups for years. I thought the app could be useful for someone trying to understand their team morale better. The second reason was to build the demo with simple but attractive UI because people tend to buy into nicely wrapped ideas quicker.
Time limit to create the demo was a weekend so some important features of a commercial software were omitted, for example, there is no rigorous testing and no user access management.
Slides explaining steps taken to build the app from scratch can be found here https://slavagu.github.io/moodometer/slides
NOTE code snippets provided there are not complete. Please refer to the source code at https://github.com/slavagu/moodometer for a fully working solution.
Some ideas you can implement based on that source code:
- Deploy it into your own environment and run on a tablet that is placed near exit at your office. You should be able to gauge your team morale and see how it changes over time.
- Make it a voting app. It should be able to serve millions of user requests a day, which is enough to run federal elections in a small country. Obviously, this is not the most efficient way of hosting high-demanding apps but it provides an easy way to withstand large scale events confidently.
- Add user authentication to create secure and more personalized user experience. The easiest way to achieve that is by using AWS Amplify framework https://aws-amplify.github.io/docs/js/authentication
- Add real-time updates using AWS AppSync. The AWS Amplify framework has it covered too.
Have fun and let me know if you found the app or source code useful.
#team #mood-o-meter #serverless #nodejs #aws #reactjs