Daylify
Introduction
Daylify is a user-friendly web application designed to help you track and record your daily moods.
Inspiration
The primary motivation behind creating Daylify was to develop a practical web application that would allow users to easily track their moods. Additionally, I wanted to evaluate my personal growth and highlight the milestones of my journey.
To achieve these goals, I leveraged the power of Vue.js for the user interface and FastAPI for the API, both hosted separately. For the database, I opted for a NoSQL solution using Azure Cosmos DB. This technology stack enabled me to rapidly develop and deploy a fully functional web application.
I highly recommend using FastAPI along with Pydantic for defining models and schemas when working with NoSQL databases.
By employing the Vue.js framework, I was able to create a simple and intuitive user interface effortlessly. Furthermore, the application can be easily set up on GitHub with a CI/CD pipeline for Netlify.
Key Features
- Authentication: Users can sign up and sign in using their username and password.
- Mood Tracking: Users can record their moods on a daily basis.
- Heatmap: Users can view their moods in a heatmap.
- i18n: Internationalization support
Tech Stack
- Backend: FastAPI hosted on Azure
- Frontend: Vue.js hosted on Netlify
- Database: Azure Cosmos DB
- Version Control: GitHub
- Containerization: uvicorn-gunicorn-docker