diff --git a/.DS_Store b/.DS_Store index 5008ddf..ff9ccdb 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/README.md b/README.md index 59e5bfa..3ef6202 100644 --- a/README.md +++ b/README.md @@ -1 +1,28 @@ -# First-Project \ No newline at end of file +MoodSphere +Project 1 - Mental Health Tracker - Moodsphere + + Coders: +Nadine- Authentication (log in) +Morgan- Home/Welcome page Design +Caitlin- Statistics (track entries) +Loralee- API & README + +Objective: Create a functioning mental health tracker app. + +Motivation: Mental Health awareness is becoming more and more prevalent in today's culture, we are as a society learning that we need to focus more on mental health. As a group we all feel we can relate in some way, whether it's depression or anxiety or just stressed out. It is an important project to us and something we felt we all would use or would like to use for various reasons. + +Summary: We aim to create an app that will be useful in tracking an individuals' mental health. You will be required to create a login, scoring, tracking scores over time, include resources,etc. + + +API’s used: +1) MetaWeather + +2) Forismatic + +API’s considered: +1)AccuWeather + +2)RapidAPI -Universal Inspirational Quotes + + + diff --git a/add-entry.html b/add-entry.html new file mode 100644 index 0000000..38a3c87 --- /dev/null +++ b/add-entry.html @@ -0,0 +1,48 @@ + + + + + + + + + + + Moodsphere - Home + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/.DS_Store b/assets/.DS_Store new file mode 100644 index 0000000..eff13bd Binary files /dev/null and b/assets/.DS_Store differ diff --git a/assets/css/.DS_Store b/assets/css/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/assets/css/.DS_Store differ diff --git a/assets/css/discover.css b/assets/css/discover.css new file mode 100644 index 0000000..4a28f7a --- /dev/null +++ b/assets/css/discover.css @@ -0,0 +1,226 @@ +/***************************** +COLORS +#D9532D#ff9665#F9B38D +#161E18#454E45#A9ABAA +#61afbd#8FDAE7#F5EFEA + +exhilirated happy moderate sad depressed +#C1EAF1#A3E0EB#8FDAE7#76B3BE#5C8B93 +*****************************/ +.site { + display: flex; + min-height: 100vh; + flex-direction: column; +} + +.site-content { + height: 80vw; + overflow-y: scroll; + padding: 0 5rem; +} +/***************************** +NAVIGATION +*****************************/ +.app-logo { + height: 2.25rem; + margin: 0.25rem 1rem; + width: 2.25rem; +} +.ui.header.item { + font-family: "Fira Sans", sans-serif; +} +.ui.secondary.pointing.menu { + margin-bottom: 0; +} +.ui.secondary.pointing.menu .item { + color: #161e18; +} +.ui.secondary.pointing.menu .item.app-name { + padding-left: 0; +} +.ui.secondary.pointing.menu a.item:hover { + color: #61afbd; + font-weight: 700; +} +.ui.secondary.pointing.menu .active.item { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; + border-bottom: 5px solid #61afbd; + font-weight: 700; + color: #61afbd; +} +.ui.secondary.pointing.menu a.active.item:hover { + color: #61afbd; + font-weight: 700; + border-color: #61afbd; +} +#logout-btn:hover { + background-color: #61afbd; + color: #ffffff; + font-weight: 700; +} + +/***************************** +MAIN SECTION +*****************************/ +.ui.card { + background-repeat: no-repeat; + background-size: cover; + border: none; + border-radius: 20px; + box-shadow: 1px 1px 2px #454e45; + height: 150px; + width: 100%; +} +.ui.card.listen { + background-image: url("../pattern/pattern1-yellow.jpg"); +} +.ui.card.watch { + background-image: url("../pattern/pattern1-green.jpg"); +} +.ui.card.read { + background-image: url("../pattern/pattern1-blue.jpg"); +} +.discover-section { + font-size: 1.5rem; + margin: 2rem 0; + padding: 1rem 1rem; + text-transform: uppercase; +} +.card-heading { + text-transform: uppercase; +} +.card-body { + margin-top: 15px; +} +#buttons { + /* Positioning */ + margin: 50px 0; + /* Typography */ + text-align: center; +} + +button { + /* Box-model */ + width: 200px; + height: 100px; +} + +.swiper-button-prev { + color: #000; +} + +.swiper-button-next { + color: #000; +} + +/***************************** +GRAPH +*****************************/ +#graph { + border-top: 2px solid #22242615; + height: 20vw; +} + +/***************************** +ADD ENTRY +*****************************/ +#add-entry-modal { + display: none; /* Hidden by default */ + position: fixed; /* Stay in place */ + z-index: 1; /* Sit on top */ + left: 0; + top: 0; + width: 100%; /* Full width */ + height: 100%; /* Full height */ + overflow: auto; /* Enable scroll if needed */ + background-color: #161e18; /* Fallback color */ + background-color: #161e1840; /* Black w/ opacity */ +} +#mood-states { + margin: auto; +} +.column { + text-align: center; +} +.mood { + border: none; + border-radius: 50%; + box-shadow: 1px 1px 2px #a9abaa; + height: 50px; + width: 50px; +} +.button-clicked { + height: 65px; + width: 65px; +} +.mood-text { + font-size: 1.25rem; + margin-top: 1rem; +} +#exhilirated { + background-color: #c1eaf1; +} +#happy { + background-color: #a3e0eb; +} +#moderate { + background-color: #8fdae7; +} +#sad { + background-color: #76b3be; +} +#depressed { + background-color: #5c8b93; +} +.question { + font-size: 1.5rem; + margin: 1.5rem 0; +} +.answer-opt-1, +.answer-opt-2, +.answer-opt-3 { + border: 3px solid #f9b38d; + border-radius: 10px; + color: #000; + display: block; + font-size: 1.25rem; + margin: 1rem 0; + padding: 0.5rem; + width: 50%; +} +.answer-opt-1:hover, +.answer-opt-2:hover, +.answer-opt-3:hover { + background-color: #f9b38d; +} +.answer-selected { + background-color: #f9b38d; +} +.modal-btn { + background-color: #61afbd; + border: none; + border-radius: 10px; + color: #ffffff; + font-size: 1.25rem; + font-weight: 700; + margin-top: 2rem; + padding: 1rem; + text-transform: uppercase; +} +.modal-btn:hover { + background-color: #8fdae7; +} +/***************************** +OVERVIEW +*****************************/ +#category { + background-color: #e7fbff; + font-size: 1.25rem; + font-weight: 700; +} +.answers, +.comment { + line-height: 2rem; +} diff --git a/assets/css/log-in.css b/assets/css/log-in.css index 8fa6362..3e8479a 100644 --- a/assets/css/log-in.css +++ b/assets/css/log-in.css @@ -1,38 +1,31 @@ -/****************************** -COLORS -#F9FEFF -#51C3CC -#C9F3F6 -#9CEAEF -#373F51 -#D1FCA4 -******************************/ - body { - background-color: #f9feff; - color: #373f51; + background: linear-gradient(red, transparent), + linear-gradient(to top left, lime, transparent), + linear-gradient(to top right, blue, transparent); + background-blend-mode: screen; } body > .grid { height: 100%; } +.image { + border-radius: 50%; + width: 300px !important; +} .ui.header { - color: #373f51; + color: #7586ac; + height: 400px; } .ui.button { - background-color: #c9f3f6; + background-color: #9ceaef; } .ui.button:hover { - background-color: #9ceaef; + background-color: #c7c74d; } .ui.segment { - background-color: #373f51; -} -.ui.message { - background-color: #373f51; - color: #f9feff; + background-color: #353e63; } .ui.input { - color: #373f51; + color: #c7c74d; } .image { margin-top: -100px; @@ -40,30 +33,31 @@ body > .grid { .column { max-width: 450px; } +#login-btn { + background-color: ; +} #signup-btn { margin-left: 8px; } - -/****************************** -FORM VALIDATION -******************************/ -#password-error-message p { - text-align: left; -} - -/* Add a green text color and a checkmark when the requirements are right */ -.valid { - color: #389e6b; -} - -.valid:before { - position: relative; - left: -35px; -} - -/* Add a red text color and an "x" icon when the requirements are wrong */ - -.invalid:before { - position: relative; - left: -35px; +.login-logo { + display: inline-block; + height: 5rem; + weight: 5rem; +} +.login-heading { + color: #ffffff; + display: inline-block; + font-family: "Fira Sans", sans-serif; + font-size: 5rem; + line-height: 5rem; + margin-left: 2rem; +} +.content { + margin: 5rem auto; + width: 50%; +} +.login-logo-div { + text-align: center; + line-height: 5rem; + margin-bottom: 2rem; } diff --git a/assets/css/styles.css b/assets/css/styles.css new file mode 100644 index 0000000..43b648b --- /dev/null +++ b/assets/css/styles.css @@ -0,0 +1,451 @@ +/******************************* +COLORS +#D9532D#ff9665#F9B38D +#161E18#454E45#A9ABAA +#61afbd#8FDAE7#F5EFEA + +exhilirated happy moderate sad depressed +#C1EAF1#A3E0EB#8FDAE7#76B3BE#5C8B93 +*******************************/ +.site { + display: flex; + min-height: 100vh; + flex-direction: column; + color: #161e18; +} + +.site-content { + flex: 1; + display: flex; + align-items: center; + justify-content: center; +} + +/******************************* +NAVIGATION +*******************************/ +.app-logo { + height: 2.25rem; + margin: 0.25rem 1rem; + width: 2.25rem; +} +.ui.header.item { + font-family: "Fira Sans", sans-serif; +} +.ui.secondary.pointing.menu { + margin-bottom: 0; +} +.ui.secondary.pointing.menu .item { + color: #161e18; +} +.ui.secondary.pointing.menu .item.app-name { + padding-left: 0; +} +.ui.secondary.pointing.menu a.item:hover { + color: #61afbd; + font-weight: 700; +} +.ui.secondary.pointing.menu .active.item { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; + border-bottom: 5px solid #61afbd; + font-weight: 700; + color: #61afbd; +} +.ui.secondary.pointing.menu a.active.item:hover { + color: #61afbd; + font-weight: 700; + border-color: #61afbd; +} +#logout-btn:hover { + background-color: #61afbd; + color: #ffffff; + font-weight: 700; +} + +/******************************* +WELCOME +*******************************/ +/* LOGO */ +#logo { + width: 250px; + height: 250px; +} +/* WEATHER */ +#weather { + text-align: right; +} + +/* QUOTE */ +#quote { + color: #8fdae7; + font-size: 2rem; + font-weight: 300; + letter-spacing: 6px; + line-height: 3rem; + text-transform: uppercase; +} +.short { + border: none; + border-bottom: 2px solid #8fdae7; + margin: 2.5rem auto; + width: 8%; +} +#author { + color: #f5efea; + font-size: 1.25rem; + font-weight: 300; + letter-spacing: 2px; + line-height: 2rem; +} +/* HOTLINES */ +.hotlines { + padding: 3rem; + margin: auto; + width: 90vw; +} +/******************************* +HOMEPAGE +*******************************/ +a { + text-decoration: none; + color: inherit; +} +.option:hover { + color: black; + text-decoration: none; + cursor: pointer; + border: 3px solid black; + border-radius: 5px; + padding: 4px; +} +.pusher .top { + background: url(https://is5-ssl.mzstatic.com/image/thumb/Purple111/v4/11/4c/0e/114c0e6a-eb12-8158-a1c7-64632cfd6a3f/source/512x512bb.jpg); +} +.masthead.segment { + min-height: 700px; + padding: 1rem 0; +} +.masthead .logo.item img { + margin-right: 1rem; +} +.masthead .ui.menu .ui.button { + margin-left: 0.5rem; +} +.masthead h1.ui.header { + margin-top: 5rem; + margin-bottom: 5rem; + font-family: "Fira Sans", sans-serif; + font-size: 4rem; +} +.masthead h2 { + font-size: 1.7rem; + font-weight: normal; +} +.jumbotron { + height: 40vw; /* #1A1B1D */ +} +.header-container { + margin: 2rem auto; + width: 70%; +} +#weather { + color: #a9abaa; + font-size: 1.25rem; + font-weight: 700; + letter-spacing: 0.75rem; +} +.weather-icon { + height: 5rem; + width: 5rem; +} +.ui.vertical.stripe { + padding: 8rem; +} +.ui.vertical.stripe h3 { + font-size: 2rem; +} +.ui.vertical.stripe .button + h3, +.ui.vertical.stripe p + h3 { + margin-top: 3rem; +} +.ui.vertical.stripe .floated.image { + clear: both; +} +.ui.vertical.stripe p { + font-size: 1.33rem; +} +.ui.vertical.stripe .horizontal.divider { + margin: 3rem 0; +} +.quote.stripe.segment { + padding: 0; +} +.quote.stripe.segment .grid .column { + padding-top: 5rem; + padding-bottom: 5rem; +} +.hotlines-title { + color: #61afbd; + font-size: 1.75rem; + font-weight: 700; +} +#hotlines-table { + background-color: #e6f5f8; + border: none; + box-shadow: 1px 1px 1px #a9abaa; + color: #454e45; +} +.hotlines-header { + font-size: 1.25rem; + font-weight: 700; +} + +@media only screen and (max-width: 700px) { + .ui.fixed.menu { + display: none !important; + } + .secondary.pointing.menu .item, + .secondary.pointing.menu .menu { + display: none; + } + .secondary.pointing.menu .toc.item { + display: block; + } + .masthead.segment { + min-height: 350px; + } + .masthead h1.ui.header { + font-size: 2em; + margin-top: 1.5em; + } + .masthead h2 { + margin-top: 0.5em; + font-size: 1.5em; + } +} + +/***************************** +MODAL +*****************************/ +/* DAILY SUMMARY */ +#summary-modal { + display: none; /* Hidden by default */ + position: fixed; /* Stay in place */ + z-index: 1; /* Sit on top */ + left: 0; + top: 0; + width: 100%; /* Full width */ + height: 100%; /* Full height */ + overflow: auto; /* Enable scroll if needed */ + background-color: #161e18; /* Fallback color */ + background-color: #161e1840; /* Black w/ opacity */ +} +.modal-content { + background-color: #fefefe; + margin: 15% auto; /* 15% from the top and centered */ + padding: 20px; + border: 1px solid #888; + width: 80%; /* Could be more or less, depending on screen size */ +} +.close { + color: #aaa; + float: right; + font-size: 28px; + font-weight: bold; +} + +.close:hover, +.close:focus { + color: black; + text-decoration: none; + cursor: pointer; +} + +/* ADD ENTRY */ +#add-entry-modal { + display: none; /* Hidden by default */ + position: fixed; /* Stay in place */ + z-index: 1; /* Sit on top */ + left: 0; + top: 0; + width: 100%; /* Full width */ + height: 100%; /* Full height */ + overflow: auto; /* Enable scroll if needed */ + background-color: #161e18; /* Fallback color */ + background-color: #161e1840; /* Black w/ opacity */ +} +#mood-states { + margin: auto; +} +.column { + text-align: center; +} +.mood { + border: none; + border-radius: 50%; + box-shadow: 1px 1px 2px #a9abaa; + height: 50px; + width: 50px; +} +.button-clicked { + height: 65px; + width: 65px; +} +.mood-text { + font-size: 1.25rem; + margin-top: 1rem; +} +#exhilirated { + background-color: #c1eaf1; +} +#happy { + background-color: #a3e0eb; +} +#moderate { + background-color: #8fdae7; +} +#sad { + background-color: #76b3be; +} +#depressed { + background-color: #5c8b93; +} +.question { + font-size: 1.5rem; + margin: 1.5rem 0; +} +.answer-opt-1, +.answer-opt-2, +.answer-opt-3 { + border: 3px solid #f9b38d; + border-radius: 10px; + color: #000; + display: block; + font-size: 1.25rem; + margin: 1rem 0; + padding: 0.5rem; + width: 50%; +} +.answer-opt-1:hover, +.answer-opt-2:hover, +.answer-opt-3:hover { + background-color: #f9b38d; +} +.answer-selected { + background-color: #f9b38d; +} +.modal-btn { + background-color: #61afbd; + border: none; + border-radius: 10px; + color: #ffffff; + font-size: 1.25rem; + font-weight: 700; + margin-top: 2rem; + padding: 1rem; + text-transform: uppercase; +} +.modal-btn:hover { + background-color: #8fdae7; +} +/***************************** +OVERVIEW +*****************************/ +#category { + background-color: #f1f1f1; + font-size: 1.25rem; + font-weight: 700; +} +.answers, +.comment { + line-height: 2rem; +} +/***************************** +MAIN SECTION +*****************************/ +.ui.table { + margin: 0; + width: 75vw; +} +.table-div { + padding: 3rem; + margin: auto; + width: 80vw; +} +td { + width: 25vw; +} +hr { + margin: 2rem 0; +} +.heading { + font-size: 1.5rem; +} +.summary { + padding: 3rem; + margin: auto; + width: 90vw; +} + +/***************************** +GRAPH +*****************************/ +#graph { + border-top: 2px solid #22242615; + height: 10vw; +} +.hide { + display: none; +} +/***************************** +APIs +*****************************/ +.ui.card { + background-repeat: no-repeat; + background-size: cover; + border: none; + border-radius: 20px; + box-shadow: 1px 1px 2px #454e45; + height: 150px; + width: 100%; +} +.ui.card.listen { + background-image: url("../pattern/pattern1-yellow.jpg"); +} +.ui.card.watch { + background-image: url("../pattern/pattern1-green.jpg"); +} +.ui.card.read { + background-image: url("../pattern/pattern1-blue.jpg"); +} +.discover-section { + font-size: 1.5rem; + margin: 2rem 0; + padding: 1rem 1rem; + text-transform: uppercase; +} +.card-heading { + text-transform: uppercase; +} +.card-body { + margin-top: 15px; +} +#buttons { + /* Positioning */ + margin: 50px 0; + /* Typography */ + text-align: center; +} +button { + /* Box-model */ + width: 200px; + height: 100px; +} +.swiper-button-prev { + color: #454e45; +} +.swiper-button-next { + color: #454e45; +} diff --git a/assets/images/.DS_Store b/assets/images/.DS_Store new file mode 100644 index 0000000..8f62093 Binary files /dev/null and b/assets/images/.DS_Store differ diff --git a/assets/images/Mood Tracker Logo.PNG b/assets/images/Mood Tracker Logo.PNG new file mode 100644 index 0000000..5558c8a Binary files /dev/null and b/assets/images/Mood Tracker Logo.PNG differ diff --git a/assets/images/mental-health-orange.svg b/assets/images/mental-health-orange.svg new file mode 100644 index 0000000..e1ba11d --- /dev/null +++ b/assets/images/mental-health-orange.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/images/mental-health-white.svg b/assets/images/mental-health-white.svg new file mode 100644 index 0000000..4f74c93 --- /dev/null +++ b/assets/images/mental-health-white.svg @@ -0,0 +1,2 @@ + + diff --git a/assets/images/moodsphere.svg b/assets/images/moodsphere.svg new file mode 100644 index 0000000..8dabc30 --- /dev/null +++ b/assets/images/moodsphere.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/assets/images/moodsphere_white.svg b/assets/images/moodsphere_white.svg new file mode 100644 index 0000000..b8e8ec8 --- /dev/null +++ b/assets/images/moodsphere_white.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/assets/images/stepstopositivementalhealth.jpg b/assets/images/stepstopositivementalhealth.jpg new file mode 100644 index 0000000..1b369aa Binary files /dev/null and b/assets/images/stepstopositivementalhealth.jpg differ diff --git a/assets/images/sunset.jpeg b/assets/images/sunset.jpeg new file mode 100644 index 0000000..6c6dc7b Binary files /dev/null and b/assets/images/sunset.jpeg differ diff --git a/assets/javascript/add-entry_overview.js b/assets/javascript/add-entry_overview.js new file mode 100644 index 0000000..866d1f8 --- /dev/null +++ b/assets/javascript/add-entry_overview.js @@ -0,0 +1,211 @@ +$(document).ready(function () { + /**************************** + FIREBASE + ****************************/ + // Firebase Configuration + var config = { + apiKey: "AIzaSyBnU7Zq6CmOii6hEHnrzFbrJqKKJ2i_t9U", + authDomain: "mental-health-tracker-f579d.firebaseapp.com", + databaseURL: "https://mental-health-tracker-f579d.firebaseio.com", + projectId: "mental-health-tracker-f579d", + storageBucket: "mental-health-tracker-f579d.appspot.com", + messagingSenderId: "390219052736", + appId: "1:390219052736:web:24d86ce5417805b74a5f25" + }; + // Initialize Firebase + firebase.initializeApp(config); + // set up authentication and database + const auth = firebase.auth(); + const database = firebase.database(); + // Firebase watcher + initial loader + database.ref().on("child_added", function (childSnapshot) { + // TEST + // console.log(childSnapshot.val().mood); + // console.log(childSnapshot.val().ansQ1); + // console.log(childSnapshot.val().ansQ2); + // console.log(childSnapshot.val().ansQ3); + + // add new table row + var tr = $(""); + tr.append($("" + childSnapshot.val().currentDate + "")); + console.log(childSnapshot.val().currentDate); + tr.append($("" + childSnapshot.val().mood + "")); + console.log(childSnapshot.val().mood); + $("#tracker-table").append(tr); + // Handle the errors + }, function (errorObject) { + console.log("Errors handled: " + errorObject.code); + }); + + /**************************** + VARIABLES + ****************************/ + var questions = [ + { + question: "Do you feel hopeless?", + answer1: "Yes, all the time.", + answer2: "Yes, sometimes.", + answer3: "No." + }, + { + question: "Did you getting less sleep than usual?", + answer1: "Yes, I had trouble falling asleep.", + answer2: "Yes, I kept waking up at night.", + answer3: "No, I haven't noticed any differences." + }, + { + question: "Have you been productive today?", + answer1: "Yes, I have kept myself busy.", + answer2: "I only completed important tasks.", + answer3: "No, I don't feel like leaving the house." + } + ] + + // get current date + var currentDate = moment().format("MMMM Do, YYYY"); + console.log("Today is: " + currentDate); + var mood = ""; + var color = ""; + var ansQ1 = ""; + var ansQ2 = ""; + var ansQ3 = ""; + var comment = ""; + + /**************************** + FUNCTIONS + ****************************/ + function displayDate() { + $("#display-date").text(currentDate); + } + + function displayDailySummary() { + // access database ??? + $("#answer-1").text(ansQ1); + $("#answer-2").text(ansQ2); + $("#answer-3").text(ansQ3); + $("#display-comments-overview").text(comment); + } + + function displayQuestions() { + $("#questionA").text(questions[0].question); + $("#answer-1A").text(questions[0].answer1); + $("#answer-1A").attr("data-text", questions[0].answerText1); + $("#answer-2A").text(questions[0].answer2); + $("#answer-2A").attr("data-text", questions[0].answerText2); + $("#answer-3A").text(questions[0].answer3); + $("#answer-3A").attr("data-text", questions[0].answerText3); + + $("#questionB").text(questions[1].question); + $("#answer-1B").text(questions[1].answer1); + $("#answer-1B").attr("data-text", questions[1].answerText1); + $("#answer-2B").text(questions[1].answer2); + $("#answer-2B").attr("data-text", questions[1].answerText2); + $("#answer-3B").text(questions[1].answer3); + $("#answer-3B").attr("data-text", questions[1].answerText3); + + $("#questionC").text(questions[2].question); + $("#answer-1C").text(questions[2].answer1); + $("#answer-1C").attr("data-text", questions[2].answerText1); + $("#answer-2C").text(questions[2].answer2); + $("#answer-2C").attr("data-text", questions[2].answerText2); + $("#answer-3C").text(questions[2].answer3); + $("#answer-3C").attr("data-text", questions[2].answerText3); + } + + /**************************** + ADD ENTRY MODAL + ****************************/ + // display modal + $(document).on("click", "#add-entry-btn", function () { + $(".ui.modal").modal("show"); + // $(".ui.modal").css("display", "block"); + }); + // display current date + displayDate(); + // display questions + displayQuestions(); + + // select a mood + $(document).on("click", ".mood", function (event) { + mood = $(this).attr("data-mood"); + color = $(this).attr("data-color"); + $(this).addClass("button-clicked"); + // TEST + console.log("selected mood: " + mood + ", " + color); + // store in database + return mood, color + }); + // select answer #1 + $(document).on("click", ".answer-opt-1", function (event) { + ansQ1 = $(this).attr("data-text"); + $(this).addClass("answer-selected"); + // TEST + console.log("selected answer #1: " + ansQ1); + return ansQ1 + }); + // select answer #2 + $(document).on("click", ".answer-opt-2", function (event) { + ansQ2 = $(this).attr("data-text"); + $(this).addClass("answer-selected"); + // TEST + console.log("selected answer #2: " + ansQ2); + return ansQ2 + }); + // select answer #3 + $(document).on("click", ".answer-opt-3", function (event) { + ansQ3 = $(this).attr("data-text"); + $(this).addClass("answer-selected"); + // TEST + console.log("selected answer #3: " + ansQ3); + return ansQ3 + }); + + // send form off and redirect user + $("#continue-btn").on("click", function (event) { + // keep from sending off somewhere + event.preventDefault(); + + // comments can be added + comment = $("#userComment").val().trim(); + + // TEST + console.log("mood stored in database: " + mood); + console.log("color for mood: " + color); + console.log("answer #1 stored in database: " + ansQ1); + console.log("answer #1 stored in database: " + ansQ2); + console.log("answer #1 stored in database: " + ansQ3); + console.log("user comments: " + comment); + + // store user selection and input + // push to firebase database + database.ref().push({ + currentDate: currentDate, + mood: mood, + color: color, + ansQ1: ansQ1, + ansQ2: ansQ2, + ansQ3: ansQ3, + comment: comment, + timeAdded: firebase.database.ServerValue.TIMESTAMP + }); + + // redirect user + window.location.replace("overview.html"); + }); + + /**************************** + OVERVIEW + ****************************/ + /**************************** + DAILY SUMMARY MODAL + ****************************/ + // when date is clicked, open summary modal + $(document).on("click", "#modal-trigger", function () { + $("#summary-modal").css("display", "block"); + displayDailySummary(); + }); + // when close button is clicked, hide modal + $("#close-btn").on("click", function () { + $("#summary-modal").css("display", "none"); + }); +}); \ No newline at end of file diff --git a/assets/javascript/app.js b/assets/javascript/app.js new file mode 100644 index 0000000..1f29bc4 --- /dev/null +++ b/assets/javascript/app.js @@ -0,0 +1,426 @@ +$(document).ready(function () { + /****************************** + FIREBASE + ******************************/ + // Firebase configuration + var firebaseConfig = { + apiKey: "AIzaSyBnU7Zq6CmOii6hEHnrzFbrJqKKJ2i_t9U", + authDomain: "mental-health-tracker-f579d.firebaseapp.com", + databaseURL: "https://mental-health-tracker-f579d.firebaseio.com", + projectId: "mental-health-tracker-f579d", + storageBucket: "mental-health-tracker-f579d.appspot.com", + messagingSenderId: "390219052736", + appId: "1:390219052736:web:24d86ce5417805b74a5f25" + }; + // Initialize Firebase + firebase.initializeApp(firebaseConfig); + const database = firebase.database(); + const auth = firebase.auth(); + // Firebase watcher + initial loader + database.ref().on("child_added", function (childSnapshot) { + if (childSnapshot.val().email == firebase.auth().currentUser.email) { + // add new table row + var tr = $(""); + tr.append($("" + childSnapshot.val().currentDate + "")); + console.log(childSnapshot.val().currentDate); + tr.append($("" + childSnapshot.val().mood + "")); + console.log(childSnapshot.val().mood); + tr.append($("" + childSnapshot.val().ansQ1 + "
" + childSnapshot.val().ansQ2 + "
" + childSnapshot.val().ansQ3 + "
" + "")); + console.log(childSnapshot.val().ansQ1 + ", " + childSnapshot.val().ansQ2 + ", " + childSnapshot.val().ansQ3); + tr.append($("" + childSnapshot.val().comment + "")); + console.log(childSnapshot.val().comment); + $("#tracker-table").append(tr); + } + // Handle the errors + }, function (errorObject) { + console.log("Errors handled: " + errorObject.code); + }); + + /****************************** + AUTHENTICATION + ******************************/ + $("#login-btn").on("submit", e => { + // keep button from sending form somewhere + e.preventDefault(); + + // store inputs + var email = $("#email-input").val().trim(); + var password = $("#password-input").val().trim(); + + // Firebase Sign In Function + var promise = auth.signInWithEmailAndPassword(email, password) + promise.then(function (e) { + window.location.replace("homepage.html"); + }) + .catch(function (e) { + // Handle Errors here. + var errorCode = e.code; + var errorMessage = e.message; + // display error message + alert("This user does not exist. Please sign up."); + }); + }); + + $("#signup-btn").on("click", e => { + // console.log("clicked"); + // keep button from sending form somewhere + e.preventDefault(); + + // store inputs + var email = $("#email-input").val().trim(); + console.log(email); + var password = $("#password-input").val().trim(); + console.log(password); + var promise = auth.createUserWithEmailAndPassword(email, password); + promise.then(function (e) { + window.location.replace("homepage.html"); + }) + .catch(function (e) { + // Handle Errors here. + var errorCode = e.code; + var errorMessage = e.message; + alert(errorCode + ": " + errorMessage); + }); + }); + + auth.onAuthStateChanged(function (user) { + if (user) { + // User is signed in. + var displayName = user.displayName; + var email = user.email; + var emailVerified = user.emailVerified; + var photoURL = user.photoURL; + var isAnonymous = user.isAnonymous; + var uid = user.uid; + var providerData = user.providerData; + console.log(user); + // ... + } else { + // User is signed out. + // ... + } + }); + + $("#logout-btn").on("click", e => { + auth.signOut().then(function (e) { + // Sign-out successful. + window.location.replace("index.html"); + }).catch(function (e) { + // An error happened. + var errorMessage = e.message; + alert(errorCode + ": " + errorMessage); + }); + }); + + /****************************** + FORM VALIDATION + ******************************/ + // Password + var passwordInput = $("#password-input"); + var capital = $("#capital"); + var number = $("#number"); + var length = $("#length"); + // password message box displays when input field is clicked + passwordInput.focus(function () { + $("#password-error-message").css("display", "block"); + }); + // password message box is hidden when user clicks outside input field + passwordInput.blur(function () { + $("#password-error-message").css("display", "none"); + }); + // validates input + passwordInput.keyup(function () { + // validates capital letters + var upperCaseLetters = /[A-Z]/g; + if (passwordInput.val().match(upperCaseLetters)) { + capital.removeClass("invalid"); + capital.addClass("valid"); + } else { + capital.removeClass("valid"); + capital.addClass("invalid"); + } + // validates numbers + var numbers = /[0-9]/g; + if (passwordInput.val().match(numbers)) { + number.removeClass("invalid"); + number.addClass("valid"); + } else { + number.removeClass("valid"); + number.addClass("invalid"); + } + // validates length + if (passwordInput.val().length >= 8) { + length.removeClass("invalid"); + length.addClass("valid"); + } else { + length.removeClass("valid"); + length.addClass("invalid"); + } + }); + + /**************************** + ADD ENTRY / OVERVIEW + ****************************/ + // questions and answers + var questions = [ + { + question: "Do you feel hopeless?", + answer1: "Yes, all the time.", + answer2: "Yes, sometimes.", + answer3: "No." + }, + { + question: "Did you getting less sleep than usual?", + answer1: "Yes, I had trouble falling asleep.", + answer2: "Yes, I kept waking up at night.", + answer3: "No, I haven't noticed any differences." + }, + { + question: "Have you been productive today?", + answer1: "Yes, I have kept myself busy.", + answer2: "I only completed important tasks.", + answer3: "No, I don't feel like leaving the house." + } + ] + // get current date + var currentDate = moment().format("MMMM Do, YYYY"); + console.log("Today is: " + currentDate); + // variables to store user input + var mood = ""; + var color = ""; + var ansQ1 = ""; + var ansQ2 = ""; + var ansQ3 = ""; + var comment = ""; + // display date + function displayDate() { + $("#display-date").text(currentDate); + $("#display-date-weather").text(currentDate); + } + // display questions to ask user and answer options + function displayQuestions() { + $("#questionA").text(questions[0].question); + $("#answer-1A").text(questions[0].answer1); + $("#answer-1A").attr("data-text", questions[0].answerText1); + $("#answer-2A").text(questions[0].answer2); + $("#answer-2A").attr("data-text", questions[0].answerText2); + $("#answer-3A").text(questions[0].answer3); + $("#answer-3A").attr("data-text", questions[0].answerText3); + + $("#questionB").text(questions[1].question); + $("#answer-1B").text(questions[1].answer1); + $("#answer-1B").attr("data-text", questions[1].answerText1); + $("#answer-2B").text(questions[1].answer2); + $("#answer-2B").attr("data-text", questions[1].answerText2); + $("#answer-3B").text(questions[1].answer3); + $("#answer-3B").attr("data-text", questions[1].answerText3); + + $("#questionC").text(questions[2].question); + $("#answer-1C").text(questions[2].answer1); + $("#answer-1C").attr("data-text", questions[2].answerText1); + $("#answer-2C").text(questions[2].answer2); + $("#answer-2C").attr("data-text", questions[2].answerText2); + $("#answer-3C").text(questions[2].answer3); + $("#answer-3C").attr("data-text", questions[2].answerText3); + } + + /**************************** + ADD ENTRY MODAL + ****************************/ + // display modal + $(document).on("click", "#add-entry-btn", function () { + $(".ui.modal").modal("show"); + }); + // display current date + displayDate(); + // display questions + displayQuestions(); + // select a mood and store color for table + $(document).on("click", ".mood", function (event) { + mood = $(this).attr("data-mood"); + color = $(this).attr("data-color"); + $(this).addClass("button-clicked"); + // TEST + console.log("selected mood: " + mood + ", " + color); + // store in database + return mood, color + }); + // select answer #1 + $(document).on("click", ".answer-opt-1", function (event) { + ansQ1 = $(this).attr("data-text"); + $(this).addClass("answer-selected"); + // TEST + console.log("selected answer #1: " + ansQ1); + return ansQ1 + }); + // select answer #2 + $(document).on("click", ".answer-opt-2", function (event) { + ansQ2 = $(this).attr("data-text"); + $(this).addClass("answer-selected"); + // TEST + console.log("selected answer #2: " + ansQ2); + return ansQ2 + }); + // select answer #3 + $(document).on("click", ".answer-opt-3", function (event) { + ansQ3 = $(this).attr("data-text"); + $(this).addClass("answer-selected"); + // TEST + console.log("selected answer #3: " + ansQ3); + return ansQ3 + }); + // send form off and redirect user + $("#continue-btn").on("click", function (event) { + // keep from sending off somewhere + event.preventDefault(); + // comments can be added + comment = $("#userComment").val().trim(); + // TEST + console.log("mood stored in database: " + mood); + console.log("color for mood: " + color); + console.log("answer #1 stored in database: " + ansQ1); + console.log("answer #1 stored in database: " + ansQ2); + console.log("answer #1 stored in database: " + ansQ3); + console.log("user comments: " + comment); + // store user selection and input + // push to firebase database + var user = firebase.auth().currentUser; + console.log(user); + database.ref().push({ + email: user.email, + currentDate: currentDate, + mood: mood, + color: color, + ansQ1: ansQ1, + ansQ2: ansQ2, + ansQ3: ansQ3, + comment: comment, + timeAdded: firebase.database.ServerValue.TIMESTAMP + }); + + // redirect user + window.location.replace("overview.html"); + }); + + /**************************** + DAILY SUMMARY MODAL + ****************************/ + // when date is clicked, open summary modal + $(document).on("click", "#modal-trigger", function () { + $("#summary-modal").css("display", "block"); + displayDailySummary(); + }); + // when close button is clicked, hide modal + $("#close-btn").on("click", function () { + $("#summary-modal").css("display", "none"); + }); + + /**************************************** + HOMEPAGE + ****************************************/ + // fix menu when passed + $('.masthead').visibility({ + once: false, + onBottomPassed: function () { + $('.fixed.menu').transition('fade in'); + }, + onBottomPassedReverse: function () { + $('.fixed.menu').transition('fade out'); + } + }); + // create sidebar and attach to menu open + $('.ui.sidebar').sidebar('attach events', '.toc.item'); + + /**************************************** + APIs + ****************************************/ + // Weather + var APIKeyWeather = "90a3db80fa91ca69d88cc81fff6bce71" + var queryURLWeather = + "https://api.openweathermap.org/data/2.5/weather?q=Sacramento,US&appid=" + + APIKeyWeather; + function getWeather() { + $.ajax({ + url: queryURLWeather, + method: "GET" + }).then(function (response) { + console.log(queryURLWeather); + console.log(response); + var iconWeather = $("weather Sacramento, US"); + console.log(response.weather[0].icon); + var fahrenheit = Math.round((response.main.temp * 9) / 5 - 459.67); + var temp = $("

" + fahrenheit + "°F

"); + console.log(fahrenheit); + displayDate(); + $("#weather").append(iconWeather); + $("#weather").append(temp); + }); + } + getWeather(); + + // Inspirational Quote + function getNewQuote() { + $.ajax({ + url: "https://api.forismatic.com/api/1.0/", + jsonp: "jsonp", + dataType: "jsonp", + data: { + method: "getQuote", + lang: "en", + format: "jsonp" + }, + success: function (response) { + quote = response.quoteText; + author = response.quoteAuthor; + $("#quote").text(quote); + console.log(quote); + console.log(author); + if (author) { + $("#author").text("By " + author); + } else { + + $("#author").text(" ~ Unknown"); + } + } + }); + } + getNewQuote(); + + /***************************** + DISCOVER + *****************************/ + // Slideshow with swiper.js + var appendNumber = 4; + var prependNumber = 1; + var swiper = new Swiper('.swiper-container', { + slidesPerView: 3, + centeredSlides: true, + spaceBetween: 30, + navigation: { + nextEl: '.swiper-button-next', + prevEl: '.swiper-button-prev', + }, + }); + $(".prepend-2-slides").on('click', function (e) { + e.preventDefault(); + swiper.prependSlide([ + '
Slide ' + (--prependNumber) + '
', + '
Slide ' + (--prependNumber) + '
' + ]); + }); + $(".prepend-slide").on('click', function (e) { + e.preventDefault(); + swiper.prependSlide('
Slide ' + (--prependNumber) + '
'); + }); + $(".append-slide").on('click', function (e) { + e.preventDefault(); + swiper.appendSlide('
Slide ' + (++appendNumber) + '
'); + }); + $(".append-2-slides").on('click', function (e) { + e.preventDefault(); + swiper.appendSlide([ + '
Slide ' + (++appendNumber) + '
', + '
Slide ' + (++appendNumber) + '
' + ]); + }); +}); \ No newline at end of file diff --git a/assets/javascript/discover.js b/assets/javascript/discover.js new file mode 100644 index 0000000..cf87e10 --- /dev/null +++ b/assets/javascript/discover.js @@ -0,0 +1,36 @@ +/***************************** +SLIDESHOW +*****************************/ +var appendNumber = 4; +var prependNumber = 1; +var swiper = new Swiper('.swiper-container', { + slidesPerView: 3, + centeredSlides: true, + spaceBetween: 30, + navigation: { + nextEl: '.swiper-button-next', + prevEl: '.swiper-button-prev', + }, +}); +$(".prepend-2-slides").on('click', function (e) { + e.preventDefault(); + swiper.prependSlide([ + '
Slide ' + (--prependNumber) + '
', + '
Slide ' + (--prependNumber) + '
' + ]); +}); +$(".prepend-slide").on('click', function (e) { + e.preventDefault(); + swiper.prependSlide('
Slide ' + (--prependNumber) + '
'); +}); +$(".append-slide").on('click', function (e) { + e.preventDefault(); + swiper.appendSlide('
Slide ' + (++appendNumber) + '
'); +}); +$(".append-2-slides").on('click', function (e) { + e.preventDefault(); + swiper.appendSlide([ + '
Slide ' + (++appendNumber) + '
', + '
Slide ' + (++appendNumber) + '
' + ]); +}); \ No newline at end of file diff --git a/assets/javascript/homepage.js b/assets/javascript/homepage.js new file mode 100644 index 0000000..88e00d8 --- /dev/null +++ b/assets/javascript/homepage.js @@ -0,0 +1,75 @@ +$(document).ready(function () { + // fix menu when passed + $('.masthead').visibility({ + once: false, + onBottomPassed: function () { + $('.fixed.menu').transition('fade in'); + }, + onBottomPassedReverse: function () { + $('.fixed.menu').transition('fade out'); + } + }); + // create sidebar and attach to menu open + $('.ui.sidebar').sidebar('attach events', '.toc.item'); + + /**************************************** + APIs + ****************************************/ + //getWeatherData("95624"); + //function getWeatherData(search) { + // $.ajax({ + // url: `http://dataservice.accuweather.com/locations/v1/postalcodes/search?q=${search}/&apikey=6GMzSjhmAKdFifcP3tfNWYih2JWvFHkN`, + // method: "GET" + // }).then(function (response) { + // console.log(response); + // $(".weatherData").text(response.weatherData); + // }) + + //} + + // Inspirational Quote + function getNewQuote() { + $.ajax({ + url: "https://api.forismatic.com/api/1.0/", + jsonp: "jsonp", + dataType: "jsonp", + data: { + method: "getQuote", + lang: "en", + format: "jsonp" + }, + success: function (response) { + quote = response.quoteText; + author = response.quoteAuthor; + $("#quote").text(quote); + console.log(quote); + console.log(author); + if (author) { + $("#author").text("By " + author); + } else { + + $("#author").text(" ~ Unknown"); + } + } + }); + } + /**************************************** + MAIN CODE + ****************************************/ + getNewQuote(); + + /**************************************** + AUTHENTICATION + ****************************************/ + $("#logout-btn").on("click", e => { + auth.signOut().then(function (e) { + // Sign-out successful. + window.location.replace("log-in.html"); + }).catch(function (e) { + // An error happened. + var errorMessage = e.message; + alert(errorCode + ": " + errorMessage); + }); + }); + +}); \ No newline at end of file diff --git a/assets/javascript/log-in.js b/assets/javascript/log-in.js index b636e25..0c39059 100644 --- a/assets/javascript/log-in.js +++ b/assets/javascript/log-in.js @@ -24,9 +24,10 @@ $(document).ready(function () { /****************************** AUTHENTICATION ******************************/ - $("#login-btn").on("submit", e => { + $("#login-btn").on("click", e => { // keep button from sending form somewhere - event.preventDefault(); + e.preventDefault(); + console.log("login clicked"); // store inputs var email = $("#email-input").val().trim(); @@ -49,7 +50,8 @@ $(document).ready(function () { $("#signup-btn").on("click", e => { // console.log("clicked"); // keep button from sending form somewhere - event.preventDefault(); + e.preventDefault(); + console.log("signup clicked"); // store inputs var email = $("#email-input").val().trim(); diff --git a/assets/javascript/overview.js b/assets/javascript/overview.js new file mode 100644 index 0000000..16aff93 --- /dev/null +++ b/assets/javascript/overview.js @@ -0,0 +1,60 @@ +google.charts.load('current', { packages: ['corechart', 'line'] }); +google.charts.setOnLoadCallback(drawAxisTickColors); + +function drawAxisTickColors() { + var data = new google.visualization.DataTable(); + data.addColumn('number', 'X'); + data.addColumn('number', 'Dogs'); + data.addColumn('number', 'Cats'); + + data.addRows([ + [0, 0, 0], [1, 10, 5], [2, 23, 15], [3, 17, 9], [4, 18, 10], [5, 9, 5], + [6, 11, 3], [7, 27, 19], [8, 33, 25], [9, 40, 32], [10, 32, 24], [11, 35, 27], + [12, 30, 22], [13, 40, 32], [14, 42, 34], [15, 47, 39], [16, 44, 36], [17, 48, 40], + [18, 52, 44], [19, 54, 46], [20, 42, 34], [21, 55, 47], [22, 56, 48], [23, 57, 49], + [24, 60, 52], [25, 50, 42], [26, 52, 44], [27, 51, 43], [28, 49, 41], [29, 53, 45], + [30, 55, 47], [31, 60, 52], [32, 61, 53], [33, 59, 51], [34, 62, 54], [35, 65, 57], + [36, 62, 54], [37, 58, 50], [38, 55, 47], [39, 61, 53], [40, 64, 56], [41, 65, 57], + [42, 63, 55], [43, 66, 58], [44, 67, 59], [45, 69, 61], [46, 69, 61], [47, 70, 62], + [48, 72, 64], [49, 68, 60], [50, 66, 58], [51, 65, 57], [52, 67, 59], [53, 70, 62], + [54, 71, 63], [55, 72, 64], [56, 73, 65], [57, 75, 67], [58, 70, 62], [59, 68, 60], + [60, 64, 56], [61, 60, 52], [62, 65, 57], [63, 67, 59], [64, 68, 60], [65, 69, 61], + [66, 70, 62], [67, 72, 64], [68, 75, 67], [69, 80, 72] + ]); + + var options = { + hAxis: { + title: 'Time', + textStyle: { + color: '#01579b', + fontSize: 20, + fontName: 'Arial', + bold: true, + italic: true + }, + titleTextStyle: { + color: '#01579b', + fontSize: 16, + fontName: 'Arial', + bold: false, + italic: true + } + }, + vAxis: { + title: 'Popularity', + textStyle: { + color: '#1a237e', + fontSize: 24, + bold: true + }, + titleTextStyle: { + color: '#1a237e', + fontSize: 24, + bold: true + } + }, + colors: ['#a52714', '#097138'] + }; + var chart = new google.visualization.LineChart(document.getElementById('chart_div')); + chart.draw(data, options); +} \ No newline at end of file diff --git a/assets/pattern/.DS_Store b/assets/pattern/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/assets/pattern/.DS_Store differ diff --git a/assets/pattern/Mood Tracker Logo.PNG b/assets/pattern/Mood Tracker Logo.PNG new file mode 100644 index 0000000..5558c8a Binary files /dev/null and b/assets/pattern/Mood Tracker Logo.PNG differ diff --git a/assets/pattern/gplaypattern_@2X.png b/assets/pattern/gplaypattern_@2X.png new file mode 100644 index 0000000..05cf41c Binary files /dev/null and b/assets/pattern/gplaypattern_@2X.png differ diff --git a/assets/pattern/pattern1-blue.jpg b/assets/pattern/pattern1-blue.jpg new file mode 100644 index 0000000..fee39b9 Binary files /dev/null and b/assets/pattern/pattern1-blue.jpg differ diff --git a/assets/pattern/pattern1-green.jpg b/assets/pattern/pattern1-green.jpg new file mode 100644 index 0000000..5b514a5 Binary files /dev/null and b/assets/pattern/pattern1-green.jpg differ diff --git a/assets/pattern/pattern1-pink.jpg b/assets/pattern/pattern1-pink.jpg new file mode 100644 index 0000000..1c37029 Binary files /dev/null and b/assets/pattern/pattern1-pink.jpg differ diff --git a/assets/pattern/pattern1-yellow.jpg b/assets/pattern/pattern1-yellow.jpg new file mode 100644 index 0000000..6ef0f16 Binary files /dev/null and b/assets/pattern/pattern1-yellow.jpg differ diff --git a/assets/pattern/pattern2.jpg b/assets/pattern/pattern2.jpg new file mode 100755 index 0000000..8dad06a Binary files /dev/null and b/assets/pattern/pattern2.jpg differ diff --git a/discover.html b/discover.html new file mode 100644 index 0000000..09ebd8d --- /dev/null +++ b/discover.html @@ -0,0 +1,451 @@ + + + + + + + + + + + + + + + + + Moodsphere - Discover + + + + + + + + + +
+ +

Watch

+ +
+ + + +
+
+
+ + +

Listen

+ +
+ + + +
+
+
+ + +

Read

+ +
+ + + +
+
+
+
+ + +
+ +

+
+
+
+ +

depressed

+
+
+ +

sad

+
+
+ +

moderate

+
+
+ +

happy

+
+
+ +

exhilirated

+
+
+
+ +
+ +
+

+ + + +

+ + + +

+ + + +
+ +
+ +
+
+
+

Additional Comments:

+ + +
+
+
+
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/homepage.html b/homepage.html index 76ccdd9..1306101 100644 --- a/homepage.html +++ b/homepage.html @@ -1,26 +1,275 @@ - - - - - - Document - + + + + + + + + + + Moodsphere - Home + + + + + + + + + + + + -

hello

- + + + +
+
+ +
+
+

+
+

Welcome!

+

+
+

+
+
+
+ +
+

Mental Health Hotlines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HotlineNumber
SAMHSA National Hotline(800) 662-4357
Anxiety and Depression Association of America (ADAA)(240) 485-1001
Depression and Bipolar Support Alliance (DBSA)(800) 826-3632
International OCD Foundation(617) 973-5801
National Center of Excellence of Eating Disorders (NCEED)(800) 931-2237
+ Schizophrenia and Related Disorders Alliance of America (SARDAA) + (240) 423-9432
American Foundation for Suicide Prevention(888) 333-2377
National Domestic Violence Hotline(800) 799-7233
Suicide Prevention Hotline(800) 273-8255
+
+ + +
+ +

+
+
+
+ +

depressed

+
+
+ +

sad

+
+
+ +

moderate

+
+
+ +

happy

+
+
+ +

exhilirated

+
+
+
+ +
+ +
+

+ + + +

+ + + +

+ + + +
+ +
+ +
+
+
+

Additional Comments:

+ + +
+
+
+
- + + - + + - - - + + + + + + \ No newline at end of file diff --git a/log-in.html b/index.html similarity index 57% rename from log-in.html rename to index.html index 9f1beb9..71cbc5d 100644 --- a/log-in.html +++ b/index.html @@ -1,35 +1,52 @@ - + - - - + + + + + + Moodsphere - Log In - + + - + + + + + + - - -
-
-

- -
- Log In to your account -
-

-
+ + +
+
+ +
@@ -56,40 +73,20 @@

-

- - -
-

Email must be valid

-
-
-

Password must contain the following:

-

- A lowercase letter -

-

- A capital (uppercase) letter -

-

A number

-

- Minimum 8 characters -

-
- - -
+ +
+
Don't have an account, yet?
-
-
- + - + + + + - + + diff --git a/overview.html b/overview.html new file mode 100644 index 0000000..9d5231a --- /dev/null +++ b/overview.html @@ -0,0 +1,243 @@ + + + + + + + + + Moodsphere - Overview + + + + + + + + + + + + + + + + + +
+ +

+
+
+
+ +

depressed

+
+
+ +

sad

+
+
+ +

moderate

+
+
+ +

happy

+
+
+ +

exhilirated

+
+
+
+ +
+ +
+

+ + + +

+ + + +

+ + + +
+ +
+ +
+
+
+

Additional Comments:

+ + +
+
+
+
+ +
+
+ + + + + + + + + + +
DateMoodLogComments
+
+ + + +
+ + + + + + + + + + + + + + + + + diff --git a/trial.html b/trial.html new file mode 100644 index 0000000..19038ea --- /dev/null +++ b/trial.html @@ -0,0 +1,140 @@ + + + + + + + Document + + +
+ + + +