I created a calendar app

I just finished building a full-stack calendar app. The idea actually came from my girlfriend. She suggested creating a shared calendar for our schedules because I always forget plans with her.
Check out the live demo here.
The Journey
I started setting it up last September but put it on hold when I got busy with job hunting. After landing a job, I picked it back up in November. Usually, I start projects but abandon them halfway because something doesn’t feel right. This time, I stuck with it all the way through deployment, and it feels amazing to finally see it completed!
Features of the App
The app allows users to:
- Create multiple calendars
- Share calendars with others
- Share and edit notes for shared calendars
To implement the calendar UI, I used the Syncfusion library. Acquiring a community license key was easy, but integrating it with Ruby on Rails was challenging due to limited documentation. This led me to write an article about the integration.
For the first time, I implemented WebSockets to enable live notifications, which was a fun challenge to figure out.
Building the database schema from scratch was a big learning moment for me. Setting up relational tables and designing everything from zero isn’t something I do every day at work, so it was both challenging and fun. I even created a diagram of the schema to map everything out. It really helped me understand it better by drawing it myself.
Lessons Learned
It’s actually the first project I’ve fully completed and deployed since graduating from the Le Wagon bootcamp. The idea itself isn’t really original, but I believe the most important thing is to build something on your own, no matter how simple it is.
For this project, I used:
- Next.js
- Tailwind
- ShadCN UI
- Ruby on Rails
- Docker
I deployed the frontend on Vercel and the backend on Fly.io. I used Heroku for my previous projects, but since they charge money and this project wasn’t for commercial use, I wanted a cheaper option. I googled alternatives and decided to use Fly.io. It was super simple to set up, and I’m not paying a single cent for my project.
Why Building Projects Matters
Building projects is one of the best ways to learn coding. I started by:
- Designing the schema
- Planning the app’s structure
- Working on the UI
- Debugging everything myself
It took a lot of time and effort, but I learned so much in the process.
What's Next?
For my next project, I want to focus more on:
- Performance optimization
- Writing clean, maintainable code
My goal is to complete another full-stack application by the end of the year!
Subscribe to my blog posts via RSS Feed