Code Monkey home page Code Monkey logo

vibecheck's Introduction


Logo

vibe check

A journaling app including both long and short-form journaling as well as charts so you can check your vibe over time.
Explore the docs »

View Demo (coming soon)

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Our team wanted to build an app that allowed us to check in on our own experiences throughout the day (via short-form journaling) and provide a platform for longer form journal entries to let us reflect on a broader time period. As a result, vibe check was born.

Our goals:

  • Enable short-form journaling and a small "vibe check" for users to quickly enter in how they're feeling in the moment and keep living their life
  • Create an intuitive long-form journaling experience for those times when you have more to reflect on (e.g., at the end of the day, every few days, or each week) ** This includes accounting for an offline experience where users might have written down their journal and wanted to upload it to the platform by taking a picture of it
  • Reflect on the vibe rating you provided over time and see which journal entries or moments had more positive or negative vibes associated with them

(back to top)

Built With

This project was built using a variety of frameworks and tools, but we will focus on the main ones below:

  • React
  • image
  • image
  • image
  • image
  • image
  • image
  • image
  • image
  • image

(back to top)

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

  • npm
    npm install npm@latest -g

Installation

  1. Clone the repo

    git clone [email protected]:2206-fsa-best-team/VibeCheck.git
  2. Install NPM packages

    npm install
  3. Run the following command to build the app

    npm run start
  4. Navigate to localhost:8080 on your browser (note: you will not be able to access Google Cloud Vision running the app locally)

  5. Log in with the following demo credentials or enter your own credentials and sign up Email: [email protected] Password: 123456

  6. Enjoy!

(back to top)

Usage

Installing the app

Tap on the install to home screen button on the bottom of your screen

Confirm the installation

Navigate to the app from your home screen and open the app

You're all set!

Adding a Moment

Adding a Journal Entry

Adding a Journal Entry via written document

Viewing your vibes over time

(back to top)

Proof of Concept

  • Create a Progressive Web Application in React✔
  • Connect the app to Supabase ✔
  • Enable Authentication via Supabase ✔
  • Set up a PostgresQL database ✔
  • Display all moments and individual moments ✔
  • Add new moments ✔
  • Set up navigation for moments and journal entries ✔

MVP

  • Display all journal entries and individual journal entries ✔
  • Add all journal entries ✔
  • Edit / Delete moments and journal entries ✔
  • Secure routes and reading moments / journal entries for each user ✔
  • Enable camera usage in app ✔
  • Enable camera capture of written journal entries using Google Cloud Vision ✔
  • Highlight low-confidence words from written journal entries ✔
  • Create charts based on vibe data for moments and journal entries ✔
  • Enable filtering for moments and journal entries ✔
  • Enhance responsiveness throughout all components to account for desktop and mobile usage ✔
  • Deploy the app via Heroku (later Render) ✔
  • Enable continuous integration using Heroku (later Render) and Github ✔

Long-term Vision

  • Implementing NLP and incorporating sentiment analysis into the vibe values
  • Graphing NLP sentiment analysis over time
  • Provide more informed analyses of what trigger words are associated with "good" or "bad" vibes

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Amaan Lakhani - Github - LinkedIn - Email

Daniel Jacobson - Github - LinkedIn - Email

Evan Forde Barden - Github - LinkedIn - Email

Nicholas Angelopoulos - Github - LinkedIn - Email

Project Link: vibe check

(back to top)

Acknowledgments

(back to top)

vibecheck's People

Contributors

alakhani5 avatar danielyj98 avatar evanfordebarden avatar nickyangel avatar

Watchers

 avatar

vibecheck's Issues

creating a vibe slider

Create a component that allows a user to choose a "vibe" value from 1-100
should be a slider or other selection component

should be added to the "add a moment" when sent to the backend

welcome: modal close reroutes to /moments

right now, the modal in WelcomeProfile only reroutes to /moments if you click the close button. it would be great if clicking on the modal background or x in the upper right corner did the same.

DB: add users to profiles table

When a new user signs up, we need to take their info from the auth.users table and add it to the profiles table (may just be email tbh).

make a user profile for all auth.users

our profiles table does not currently reflect all of our users in auth.users. just want to manually create those profiles and/or delete extraneous users.

Integrating SendGrid

Try and determine the course of action for either connecting the public profiles table to the send email function or bringing down the function to the front end

Change the 'send email' function so that it includes the emails from the profiles table

Saving for the end

PWA Exists

As a user, I can go to a localhost (or similar?) and open the app.

Create a Router

Create a router and add some routes for adding and editing

do not worry about signed in status yet

Create a navigation for moments/journals

Mobile view: add a nav bar to the bottom of the home screen and profile screen that lets a user switch between moments and journals
Web view: add a nav bar to the bottom of the home screen and profile screen that lets a user switch between moments and journals

fix errors related to WelcomeProfile

WelcomeProfile has some console warnings. Likely just need to clean up the code to remove unused variables. Also might want to rename this component?

Styling Add moment

User should be able to input their text (up to X characters) and add it to the database (it should be associated with them)

Display all journals

Display all journals in a responsive, styled component when a user taps on the journals section of the navbar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.