Mini Project
Mini Project
Submitted by
Dr. G. Babu
JUNE – 2025
1
DIRECTORATE OF ONLINE EDUCATION
BONAFIDE CERTIFICATE
This Mini Project Work Report titled “Mental Health Journal &
knowledge, the work reported herein does not form any other internship
2
ACKNOWLEDGEMENT
Chancellor, SRM Institute of Science and Technology, for the facilities extended
for the project work and his continued support. We extend our sincere thanks to
Director DOE, SRM Institute of Science and Technology, Prof. Dr Manoranjan
Pon Ram, for his invaluable support. SRM Institute of Science and Technology,
for her support throughout the project work. We want to convey our thanks to
Programme Coordinator Dr. G. Babu, Directorate of online Education, SRM
Institute of Science and Technology, for their inputs during the project reviews
and support. Our inexpressible respect and thanks to my guide, Dr G.Babu.,
sincerely thank the Directorate of online Education, staff and students, SRM
Institute of Science and Technology, for their help during our project. Finally, we
would like to thank parents, family members, and friends for their unconditional
3
TABLE OF CONTENT
2. Introduction …………………..……………….……………… 6
6. Implementation …………………………….………………. 21
7. Testing ……………………………………………………… 23
8. Tools ………………………………………………………. 25
9. Coding ………………………………………….………….28
9. Result ……………………………………….….…………. 34
4
1. Abstract
The Mental Health Journal & Mood Tracker App is a digital tool designed to
help users track their emotional well-being, identify patterns in their mood, and
develop healthier coping strategies. This app combines journaling, mood
tracking, and data visualization to provide users with insights into their mental
health over time. Users can log their daily emotions, write journal entries, and
categorize moods with customizable tags. The app integrates reminders for
consistency and offers data analytics, including charts and trend analysis, to help
users recognize triggers and progress. Additionally, features such as guided
reflections, affirmations, and mindfulness exercises provide supportive
interventions. By promoting selfawareness and emotional regulation, this app
serves as a personal companion for mental wellness, fostering healthier habits
and a deeper understanding of one’s mental state.
Key Features of the Mental Health Journal & Mood Tracker App
i. User Authentication - The app incorporates robust user authentication
to ensure data privacy and security. Users can create individual
accounts, securely log in, and manage their personal financial data with
peace of mind.
ii. Mood Tracking – Log daily emotions with customizable mood
categories and intensity levels.
iii. Journal Entries – Write personal reflections, attach images, and
categorize entries for deeper insights.
iv. Data Visualization – View mood trends over time with interactive
charts and analytics.
v. Customizable Reminders – Set reminders to check in with your mood
and journal regularly.
The Mental Health Journal & Mood Tracker App leverages Next.js, a popular
React framework, to provide a fast and efficient user experience with server-side
rendering capabilities. Tailwind CSS is utilized for building a responsive and
visually appealing user interface, ensuring compatibility across a range of
devices and screen sizes. MongoDB serves as the backend database, offering
scalability, flexibility, and seamless data storage and retrieval.
In conclusion, the Mental Health Journal & Mood Tracker App offers a
comprehensive and user-friendly platform for tracking emotional well-being and
fostering self-awareness. By integrating journaling, mood tracking, data
visualization, and mindfulness tools, the app empowers users to recognize
patterns, manage emotions, and develop healthier coping strategies. Built with
Next.js, Tailwind CSS, and MongoDB, it ensures a seamless, secure, and
responsive experience, making it a valuable companion for mental wellness.
5
2. Introduction
To develop a Mental Health Journal & Mood Tracker App, need a combination
of front-end, back-end, database, and cloud technologies. Here’s a breakdown of
the software and tools used:
Frameworks/Languages:
o Flutter (Dart) – Cross-platform for iOS & Android
o React Native (JavaScript/TypeScript) – Cross-platform
o Swift (for native iOS development)
o Kotlin (for native Android development)
UI Design:
o Figma / Adobe XD – For UI/UX prototyping
o Material UI / Tailwind CSS – If using web-based implementation
6
o AES/End-to-End Encryption for user journal protection
Cloud Databases:
Cloud Services:
o Google Firebase (for hosting, database, and authentication)
o AWS (EC2, S3, Lambda for serverless operations)
o Azure / Google Cloud for enterprise-level scaling
APIs & AI Integration:
o OpenAI API (for AI-generated mood insights or journaling
prompts)
o Google Cloud NLP (for sentiment analysis of journal entries)
5. Third-Party Integrations
7
3. Analysis
The Mental Health Journal & Mood Tracker App is designed to address the
growing need for self-awareness and emotional well-being through digital tools.
This analysis outlines the problem statement, objectives, functional and non-
functional requirements, and feasibility study to ensure a structured development
approach.
1. Problem Statement
Many individuals struggle to keep track of their mental health due to a lack of
structured self-monitoring tools. Traditional methods such as paper journaling
may not provide meaningful insights or analytics. This app aims to bridge this
gap by offering a secure, interactive, and AI-driven digital platform for mood
tracking and journaling.
2. Objectives
3. Functional Requirements
8
AI-driven insights (optional sentiment analysis).
Exporting and sharing reports (if needed for therapy sessions).
4. Non-Functional Requirements
5. Feasibility Study
Conclusion
System Requirements
9
Cloud Database : Firebase
Documentation : MS-Office
4. Problem Description
Modules Description
1. User Authentication
2. Mood Tracking
3. Journal Entries
10
• Generates insights to help users make informed decisions for mental well-
being.
5. Customizable Reminders
wellness, helping users gain insights into their emotional patterns and develop
11
5. Design
UML DIAGRAMS
The standard is managed, and was created by, the Object Management Group.
The goal is for UML to become a common language for creating models of
object oriented computer software. In its current form UML is comprised of two
method or process may also be added to; or associated with, UML. The Unified
modeling of large and complex systems. The UML is a very important part of
developing objects oriented software and the software development process. The
UML uses mostly graphical notations to express the design of software projects.
GOALS:
12
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that
they can develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core
concepts.
3. Be independent of particular programming languages and development
process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as collaborations,
frameworks, patterns and components.
7. Integrate best practices.
13
2. Class Diagram
14
3. Sequence Diagram
15
4. Collaboration Diagram
In collaboration diagram the method call sequence is indicated by some
numbering technique as shown below. The number indicates how the methods
are called one after another. We have taken the same order management system
to describe the collaboration diagram. The method calls
are similar to that of a sequence diagram. But the difference is that the sequence
diagram does not describe the object organization where as the collaboration
diagram shows the object organization.
This diagram displays the communication among objects using numbered
method calls starting from 1.
16
1 : Resister
2 : Login
3 : WriteJournalEntry()
4 : trackMood()
\
User System
5 : viewInsights()
6 : setReminder()
7:editJounalEntry()
8 : logout(0
5. Activity Diagram
17
18
6. Component Diagram
Component diagrams are used to describe the physical artifacts of a system. This
artifact includes files, executable, libraries etc. So the purpose of this diagram is
different, Component diagrams are used during the implementation phase of an
application. But it is prepared well in advance to visualize the implementation
details. Initially the system is designed using different UML diagrams and then
when the artifacts are ready component diagrams are used to get an idea of the
implementation.
This diagram presents the physical components like the database, API server,
mobile app interface, and how they interact.
19
20
6. Implementation - Mental Health Journal & Mood Tracker App
Technology Stack
Frontend Implementation
UI/UX Design: Developed using Flutter widgets with Material Design and
Cupertino (for iOS-like styling).
Key Screens: Login/Signup, Home Dashboard, Mood Tracking, Journal
Entry, Analytics & Reports, Reminder Setup, Settings.
State Management: Using Provider or Riverpod for app-wide state
management.
Backend Implementation
21
- POST /reminder – Set new reminder
Database Implementation
Firebase Schema:
users/
userId/
profile: { name, email, preferences }
moods/
moodId: { mood, intensity, timestamp, note }
journals/
journalId: { content, moodTag, sentiment, timestamp }
reminders/
reminderId: { time, frequency }
SQL Schema: Tables include Users, MoodEntries, JournalEntries, Reminders,
Analytics.
Security Implementation
22
Mood pattern analysis over time using line and pie charts.
Testing
Conclusion
7. SYSTEM TESTING
TYPES OF TESTING
UNIT TESTING:
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid
outputs. All decision branches and internal code flow should be validated. It is
the testing of individual software units of the application .it is done after the
completion of an individual unit before integration. This is a structural testing,
that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application,
and/or system configuration. Unit tests ensure that each unique path of a business
process performs accurately to the documented specifications and contains
clearly defined inputs and expected results.
23
INTEGRATION TESTING
Integration tests are designed to test integrated software components to
determine if they actually run as one program. Testing is event driven and is
more concerned with the basic outcome of screens or fields. Integration tests
demonstrate that although the components were individually satisfaction, as
shown by successfully unit testing, the combination of components is correct and
consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components
FUNCTIONAL TEST:-
Functional tests provide systematic demonstrations that functions tested are
available as specified by the business and technical requirements, system
documentation, and user manuals.
Functional testing is centered on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
Systems/Procedures: interfacing systems or procedures must be invoked
SYSTEM TEST
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An
example of system testing is the configuration oriented system integration test.
System testing is based on process descriptions and flows, emphasizing pre-
driven process links and integration points.
WHITE BOX TESTING
White Box Testing is a testing in which in which the software tester has
knowledge of the inner workings, structure and language of the software, or at
least its purpose. It is purpose. It is used to test areas that cannot be reached from
a black box level.
24
BLACK BOX TESTING
Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as
most other kinds of tests, must be written from a definitive source document,
such as specification or requirements document, such as specification or
requirements document. It is a testing in which the software under test is treated,
as a black box .you cannot “see” into it. The test provides inputs and responds to
outputs without considering how the software works.
UNIT TESTING:
Unit testing is usually conducted as part of a combined code and unit test phase
of the software lifecycle, although it is not uncommon for coding and unit testing
to be conducted as two distinct phases. Test strategy and approach Field testing
will be performed manually and functional tests will be written in detail.
Test objectives
• All field entries must work properly.
• Pages must be activated from the identified link.
• The entry screen, messages and responses must not be delayed.
Features to be tested
• Verify that the entries are of the correct format
• No duplicate entries should be allowed
• All links should take the user to the correct page.
INTEGRATION TESTING
Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused
by interface defects. The task of the integration test is to check that components
or software applications, e.g. components in a software system or – one step up –
software applications at the company level – interact without error.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
ACCEPTANCE TESTING
User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional
requirements. Test Results: All the test cases mentioned above passed
successfully. No defects encountered.
The development of the Mental Health Journal & Mood Tracker App requires a
variety of tools and technologies to ensure functionality, performance,
scalability, and security. The selected tools span across frontend, backend,
25
database, analytics, and deployment technologies.
1. Frontend Technologies
2. Backend Technologies
3. Database Technologies
26
- HTTPS & JWT: Ensures secure communication and authenticated API access.
6. Analytics and AI
- Visual Studio Code: Preferred IDE for both frontend and backend development.
- Git & GitHub: Used for version control, source code management, and team
collaboration.
27
The integration of these technologies ensures that the app is robust, scalable,
user-friendly, and secure, providing users with a reliable tool for tracking and
managing their mental health.
9.Coding
import 'package:flutter/material.dart';
@override
int intensity = 5;
void submitMood() {
// Here you would typically call an API to submit the mood data
28
}
@override
return Scaffold(
body: Padding(
child: Column(
children: [
TextField(
),
Slider(
min: 1,
max: 10,
divisions: 9,
label: intensity.toString(),
value: intensity.toDouble(),
),
29
ElevatedButton(
onPressed: submitMood,
),
],
),
),
);
**Sample Input:**
- Mood: "Happy"
- Intensity: 8
30
1. User opens the app and navigates to 'Log Mood' screen.
locally.
**Backend (Node.js) –
// moodController.js
if (!admin.apps.length) {
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
31
});
const db = admin.firestore();
try {
await db.collection('users').doc(userId).collection('moods').add({
mood,
intensity,
});
} catch (error) {
32
return res.status(500).json({ error: 'Internal server error' });
});
module.exports = router;
POST /mood
Request Body:
"userId": "abc123",
"mood": "Happy",
"intensity": 8,
"timestamp": "2025-05-08T10:00:00Z"
33
10. Results
34
11. Conclusion
The Mental Health Journal & Mood Tracker App successfully addresses the
growing need for digital mental health support tools by integrating key
functionalities like mood logging, journaling, data visualization, and reminders
into a seamless user experience. The project demonstrates the potential of using
cross-platform frameworks such as Flutter, robust backend solutions like
Firebase and Node.js, and AI-enhanced analytics for sentiment analysis and
mood trend detection.
Through intuitive UI design and secure architecture, the app empowers users to
engage in self-reflection, track emotional well-being, and build mental resilience.
The modular approach adopted during development ensures scalability,
maintainability, and ease of enhancement. As mental health awareness becomes
increasingly vital, this application lays the foundation for future integration with
wearables, advanced AI for mood prediction, and therapy-based
recommendations. Overall, the project exemplifies a thoughtful blend of
technology and psychology aimed at fostering emotional well-being.
12. References
1. Google Firebase Documentation – https://firebase.google.com/docs
2. Flutter Official Docs – https://docs.flutter.dev
3. Node.js Documentation – https://nodejs.org/en/docs/
4. MongoDB Documentation – https://www.mongodb.com/docs/
5. Tailwind CSS Docs – https://tailwindcss.com/docs
6. Chart.js Documentation – https://www.chartjs.org/docs/
7. Google Cloud Natural Language API – https://cloud.google.com/natural-
language
8. IBM Watson Natural Language Understanding –
https://www.ibm.com/cloud/watson-natural-language-understanding
9. Android Studio Documentation – https://developer.android.com/studio
10. GitHub Docs for Version Control – https://docs.github.com/
35