QuoteMe is a web application designed to enhance emotional well-being through personalized affirmations, shared mindfulness experiences, and private journaling. Our motivation was to create a platform that fosters a supportive community for individuals to reflect on their feelings, find motivation, and connect with others on a similar journey.
- What problem does it solve? QuoteMe offers a space for self-reflection and personal growth by providing users with affirmations based on their current emotions and a bulletin board to share and read inspirational stories.
- What did we learn? This project was an exploration into building full-stack applications using MERN stack, emphasizing React for frontend development and GraphQL for efficient data handling.
To install QuoteMe on your local computer:
- Clone the repository to your local machine.
git clone https://github.com/charleshuurman/QuoteMe - Run
npm installto install package dependencies for both the client and server parts. - run
npm run seedto populate the database with seed data (optional). - Start the application by running
npm run developfrom the root directory, which concurrently launches both the client and the server.
Since it's deployed in Render, please click this link: QuoteMe App in Render
Testing: For this demo, we have prepared 25 user e-mails for you to log in with pre-populated data. You may login with user1@hotmail.com, user2@hotmail.com, ... user25@hotmail.com. The password is user1, user2 ... user25
You can also install the application locally by following the installation instructions above.
After installation, the app will be accessible on your local server. Navigate through the app to:
- Sign up and manage your profile.
- Generate affirmations based on your current emotions.
- Share and read stories on the mindfulness bulletin board.
- Write and maintain a private journal.
- Change the Theme to your liking from more than 10 color schemes.
- See your Emotion Chart to see statistics of your feelings.
- Change your subscription plan to access the mindfulness bulletin board.
- See your profile statistics.
Screenshots of the application in use:
- Secure user authentication system.
- Emotion-based affirmation generator.
- Community bulletin board to share and like stories.
- Private journal for personal reflections.
- Write and maintain a private journal.
- Change the Theme to your liking from more than 10 color schemes.
- See your Emotion Chart to see statistics of your feelings.
- Change your subscription plan to access the mindfulness bulletin board.
- See your profile statistics.
- Responsive design for a seamless experience on various devices.
Contributions to QuoteMe are always welcome! To contribute:
- Fork the repository.
- Create a new branch for your feature (git checkout -b feature/AmazingFeature).
- Commit your changes (git commit -m 'Add some AmazingFeature').
- Push to the branch (git push origin feature/AmazingFeature).
- Open a pull request.
Please adhere to the Contributor Covenant Contributor Covenant. code of conduct in your interactions with the project.
Developed by a dedicated team, special thanks to:
- KyoSook Shin
- Andre Nurwono
- Emily Knight
- Devon Rooks
- Megan Wright
- Charles Huurman
- Materials provided by the University of Texas for Project 26 in the MERN Stack curriculum.
This project uses the following direct dependencies:
express: Fast, unopinionated, minimalist web framework for node.mongoose: MongoDB object modeling designed to work in an asynchronous environment.react: A JavaScript library for building user interfaces.graphql: An API query middleware that allows flexibility and efficiency to building APIs@apollo/client/server: A comprehensive state management library for JavaScript that enables you to manage both local and remote data with GraphQL.daisyUI + tailwindCSS: A UI CSS framework that works with React for rapid stylingbcrypt: a library for hashing passwordsjsonwebtoken: tokens which store and encrypt authentication information and is stored on the browser, similar to cookies but isn't as restrictedstripe: a payment library to accept payment from credit cards and other methods
This project is released under the MIT License. See the LICENSE file for details

