Your personal, interactive mood journaling web application
Tracks moods over time via Google Cloud Natural Language sentiment analysis and offers motivational quotes, local events, and a supportive community forum.
Digi-Cry is a web application designed to help users reflect on their emotional well-being through journal entries. By leveraging the Google Cloud Natural Language API, each entry is analyzed for sentiment, allowing users to visualize mood trends over time. The app also fosters a supportive environment by providing:
- Motivational quotes to lift spirits.
- Local event recommendations (to encourage community engagement).
- A forum system for users to discuss topics, goals, and challenges together.
- User Authentication
- Utilizes Google OAuth/Passport for easy login.
- Motivational Quotes
- Fetches quotes from the Stoic Tekloon API to inspire users upon each visit.
- Journal Functionality
- Create, Read, Update, and Delete (CRUD) journal entries.
- Each entry is analyzed for sentiment score and magnitude.
- Mood Analytics
- Visualize mood trends over time with data-rich charts.
- Quick snapshot on the home page plus a detailed analytics page.
- Local Event Discovery
- Geolocation-based event finding
- Google Maps integration
- SERP API event searching
- Event details with dates and locations
- Direct links to event pages
- Community Forums
- Five focused categories:
- Physical Health
- Finances
- Personal Development
- Mental Health
- Career
- Five focused categories:
- Post creation and viewing
- Like system for engagement
- AI Goal Analysis powered by Google's Gemini AI
- Recent posts feed
-
Front End:
- React (using React Router for navigation, Material UI for styling)
- Chart.js & react-chartjs-2 for data visualization
- Bundled via Webpack with Babel as a JavaScript compiler
-
Back End:
- Node.js & Express
- Mongoose for MongoDB interactions
- Passport.js with Google OAuth for authentication
-
Database:
-
Deployment & Cloud Services:
- Google Cloud Natural Language API
- Google Cloud Platform for hosting
- [Gemeni API https://ai.google.dev/] for AI
-
Other Notable Libraries:
- Node.js (version 16+ recommended)
- npm (version 8+ recommended) or Yarn
- MongoDB - Make sure you have a local or remote MongoDB instance ready.
- Google Cloud Project with Natural Language API enabled (to get the proper credentials).
- Clone the repository
git clone https://github.com/your-username/digicry.git
cd digicry- Install dependencies
npm install- Set up environment variables
cp .env.example .envEdit .env with your API keys and configuration
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
PORT=5000
HOME_URL=http://localhost:8080/
SERVER_URL=http://localhost:5000/
CALLBACK_URL
DEPLOYMENT=FALSE
GOOGLE_MAPS_API_KEY
EVENTS_API_KEY
AI_API_KEY
To seed the database with sample journal entries:
npm run server
# In a new terminal:
node server/db/seed/jsnpm run dev: Start both frontend and backend in development modenpm run server: Start backend server onlynpm run client: Start frontend client onlynpm run build: Build the production versionnpm run start-prod: Start production servernpm run lint: Run ESLintnpm run clean-deps: Clean and reinstall dependencies
- Stoicism Quote API for Motivation Quotes
- Google Cloud Natural Language API for sentiment analysis of journal entries for mood tracking
- Google Gemini API for setting and achieving goals
- Google Maps Geocoding API
- SERP API for event discovery
- All contributors who have helped shape this project
Made with ❤️ by The 404's




