JournalMind is a modern journaling application with AI-powered insights to help you track your thoughts, feelings, and personal growth over time.
- ✏️ Write daily journal entries with a clean, intuitive interface
- 🏷️ Tag entries for easy organization and filtering
- 🤖 AI assistant to provide insights and answer questions about your journal
- 🔍 Search functionality to find specific entries
- 🔒 Secure authentication with Google OAuth
- Backend: FastAPI, Python, SQLite (via Tortoise ORM)
- Frontend: React, TailwindCSS, Framer Motion
- Authentication: Google OAuth
- Python 3.8+
- Node.js 16+
- npm or yarn
-
Navigate to the backend directory:
cd backend -
Install dependencies:
pip install -r requirements.txt -
Set up environment variables (create a
.envfile in the backend directory):SECRET_KEY=your-secret-key GOOGLE_CLIENT_ID=your-google-client-id GOOGLE_CLIENT_SECRET=your-google-client-secret DATABASE_URL=sqlite://db.sqlite3 -
Run the FastAPI server:
uvicorn app.main:app --reload -
The API will be available at http://localhost:8000 and the Swagger documentation at http://localhost:8000/docs
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install -
Start the development server:
npm run dev -
The frontend will be available at http://localhost:5173
journaling_app/
├── backend/
│ ├── app/
│ │ ├── services/
│ │ ├── routes/
│ │ ├── main.py
│ │ ├── models.py
│ │ ├── schemas.py
│ │ └── config.py
│ ├── requirements.txt
│ └── Dockerfile
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── hooks/
│ │ ├── styles/
│ │ ├── App.jsx
│ │ ├── main.jsx
│ │ └── api.js
│ ├── package.json
│ └── index.html
└── docker-compose.yml
The application uses a Duolingo-inspired design language with:
- Rounded corners and playful elements
- Vibrant, friendly color palette
- Satisfying micro-interactions and animations
- Clean, accessible typography