My Moody has been developed within 24 hours for a study project.
The application is built using a full-stack approach, integrating both front-end and back-end technologies. Click on the video below to watch it ⬇️
My Moody is an emotional journaling app designed to help individuals track their emotions in real-time. Inspired by the experience of a war veteran suffering from post-traumatic stress disorder (PTSD) and depression, the app aims to provide a safe space where users can record their feelings instantly. This allows them to keep an accurate log of their emotional state, which can be shared with a therapist or used for personal reflection. With My Moody, users can better understand and manage their emotions, and more importantly, maintain a record of how they felt during critical moments, even when these emotions are difficult to express later on. The app is especially valuable for those undergoing therapy or anyone seeking to improve their self-awareness and mental health management.
Front-End:
The user interface is built using Twig templates, JavaScript, and styled with SCSS for dynamic and responsive design.Back-End:
The core of the application is powered by PHP and the Symfony framework, with Doctrine managing database interactions. MySQL serves as the database, while Composer and Yarn are used for package management and project dependencies.Key Features:
Authentication: Users can sign up, log in, and log out securely using an authentication system built into the application. CRUD for Moods: Users can create, read, update, and delete their mood entries, allowing them to keep a log of their emotional state over time.Database Modeling
The database structure for My Moody was designed using the MERISE methodology, ensuring a robust and scalable architecture. The process involved:MCD (Conceptual Data Model): This step focused on defining the entities, attributes, and relationships required to model the moods and user interactions effectively.
MLD (Logical Data Model): The MCD was then translated into a more structured format, outlining primary keys, foreign keys, and detailed relationships.
MPD (Physical Data Model): Finally, the MLD was converted into the actual implementation in MySQL, optimizing the tables for performance and reliability.
Wireframes, Mockups, and Prototypes
To ensure an intuitive user experience, the interface design went through several stages of development using Figma:Wireframes: Initial low-fidelity wireframes were created to outline the basic structure and navigation flow of the application.
Mockups: These wireframes were then enhanced with color schemes, typography, and UI elements to create high-fidelity mockups that reflect the final look and feel.
Prototypes: Interactive prototypes were developed to simulate the user journey and test the overall usability before implementation.
Improvements
Enhanced User Interface and User Experience (UI/UX):
Redesign the overall layout to offer a more fluid and intuitive interface. Simplify navigation for quick and natural user interactions. Use harmonious typography and color schemes to improve readability and overall aesthetics.