I have been working on several side projects (mostly web apps) and I am constantly creating the same thing over and over e.g. user authentication, emailing, database setup, deployment, blah blah. I just want to create solutions not repeat the same thing over and over.
I have decided I will create 1 web app every month. I have “finished” my first app and it is live. It took me about 1 week (part time) to do it from start to finish. Here is some of the common functionality that I will reuse in my other apps:
- User authentication using Google accounts
- User authorization
- Mailchimp integration
- Mandrill integration
- Google analytics integration
- Purechat integration
- Backend — using firebase and a node worker hosted at Digital Ocean
Coming soon common features:
- Subscription management (freemium model)
- Strip integration for payment processing
The application is a simple “Daily Standup Updates”, you create a team and invite your team members and each one enters their daily status update. Here are some features that are specific to this app but can probably be used in future apps:
- Share a specific “entity” with others (in this case, you share a team)
- Send email notification for invites and status updates
- Many to many relationships — teams can have multiple users and users can join multiple teams.
I am not a designer, so I leveraged Google Material Design to get a relatively clean look and feel.
- Ember JS — the most productive frontend framework
- Firebase realtime database
- Firebase hosting (I simply run ember build and firebase deploy)
- Node js worker— a simple service running continuously and listening to firebase changes to send email notifications, aggregate data, integrate with mailchimp and so on.
- Digital Ocean droplet for 5 bucks that runs the worker above — I am sharing this across several projects so cost is a lot less than $5 per app
The app is live and you can see it at www.ourstandup.com — feedback is greatly appreciated. I am also considering open sourcing it — would anyone be interested?