Skip to content

jpthesmar/a3-persistence

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mood Tracker Application - Joseph Thesmar (https://a3-thesmar-joseph.onrender.com/)

Project Summary:

This Mood Tracker Application allows users to log, modify, and delete mood entries while storing data persistently using MongoDB. Built with Node.js, Express, and styled using Bootstrap, the application supports user authentication and provides an intuitive interface for mood management.

Challenges

Login and register feature, link user id with all moods ids Login username, making different usernames, while linking password to a specific username Modify mood state, comment, and name, all whilst calculating and showing the acoording mood score

Goals and Features

Goal: To provide a web application where users can login to track their moods over time, with features for adding, modifying, and deleting entries.

Features:

  1. Server using express js framework to handle user login and registration, and mood submissions
  2. Results table that shows each user's moods entries
  3. Add, modify, and delete mood possibilities
  4. Persistent storage with MongoDB
  5. Responsive design using Bootstrap

General

The site achieves at least 90% on the Performance, Best Practices, Accessibility, and SEO tests when analyzing using Google Lighthouse

CSS Framework

Framework: Bootstrap was selected for its ease of use and extensive components. It provides a responsive layout and modern design aesthetics. Minor custom CSS was added to adjust specific styles.

Express Middleware Packages

  • morgan: Logging
  • cors: CORS
  • helmet: Security Headers
  • express.json(): JSON Parsing
  • express.urlencoded(): URL-Encoded Parsing

Technical Achievements:

OAuth Authentication (10 points): Not implemented. Basic username/password authentication is used instead.

Hosting on Render (5 points): Deployed the application on Render for hosting. Render was chosen for its straightforward deployment process and ease of integration with GitHub.

List up to five Express middleware packages (5 points):

Express Middleware Packages

  • morgan: Logging
  • cors: CORS
  • helmet: Security Headers

Design/UX Achievements

**Accessibility Tips (10 points):**Not Implemented

CRAP Principles (5 points): Not implemented

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 61.9%
  • CSS 19.7%
  • HTML 18.4%