I've been a member of dev.to for some time now. Incidentally, this is my first post and I'm excited to present to you my submission for the Dev.to Twilio Hackathon: eVent 🥁
An event and task management app for family and friends!🎉🧓🎂👨👨👧👦
Imagine if you could assign tasks to your kids or family members. Let them know about important events in your life and remind them so they never miss it! 😁
This is what the eVent app is all about. For the hackathon submission, I've created a small MVP which does the following:
- Securely registers new users - I use .net core identity for this
- Verify user phone number using Twillio SMS API
- Create tasks and events for the user
- A user can send and accept friend invites
- Send text reminders to the task assignee when a task is due using Twilio.
- Send out invites or reminders to friends about your events using Twilio
- See your tasks and events as well as your friend events on your calendar
The main technologies I used were
- Angular and Angular CLI for the frontend
- .net core for the backend
- MySQL for the DB
In addition to this I used some interesting frameworks and technologies:
- .net core Identity to register and manage user authentication and authorization
- Dapper for accessing my application-related data
- Docker for provisioning my MySQL DB locally
- For some time I used hangfire for sending out the reminders but eventually replaced it with a .net core hosted service because hangfire didn't play nicely with MySQL :)
If you want to see a live demo of it here it is (published on Azure): https://eventapplication.azurewebsites.net/
Otherwise, read on! for a description of some of the main scenarios:
A part of the user registration is the verification of the user's phone number. I'm using Twilio to send a verification code to the user via sms.
Once you have registered and verified your phone number you can go to the app and start using it. For example, you can search for and add a friend by username. In order for the process to be complete, the friend's user must accept the request.
Adding a user:
The assigned user will get a friendly text message with a gentle reminder just before the task is due 😆✅:
I hope you enjoyed this project. If you'd like to see the source code for this project you can find it here. You'll find information about the project setup as well. Feel free to ask questions, give encouragement/advice/request features, etc. Any interactions are most welcome!