mittirr/Reflct---A-Journaling-App
A digital journal App to organize and reflect your thoughts.
Reflct
โจ Features
Core Features
- Easy journal entry Creation - Create beautiful customizable journal entries with a rich text editor
- Organize with Moods - Keep your entries organized with mood tags
- Mood Analytics - A beautiful graph to visualize your mood
- Mood Summary - We give you a mood summary calculating the moodscore of your entries
- Powerful Search - Find your notes instantly by thier title, mood or date of creation
- Secure data - your entries are private and protected
- Responsive Design - Works seamlessly on desktop and mobile devices
- User Authentication - Secure user authentication with clerk
๐ ๏ธ Technologies Used
-
Frontend
- React 19
- Next 15
- Tailwind CSS v4
- Zod 3
- React Router v7
- Lucide React (icons)
- Arcjet
- date-fns (date formatting)
-
Backend
- Prisma 6
- NeonDB
- Clerk
๐ Prerequisites
- Node.js (v18 or higher)
- npm or yarn
๐ Installation
-
Clone the repository
git clone https://github.com/mittirr/Reflct---A-Journaling-App.git cd Reflct---A-Journaling-App -
Install dependencies
npm install # or yarn -
Create a
.envfile in the root directory with your credentialsNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY = your_clerk_publishable_key CLERK_SECRET_KEY = your_clerk_api_key NEXT_PUBLIC_CLERK_SIGN_IN_URL = /sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL = /sign-up NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL = /dashboard NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL = /dashboard DATABASE_URL = your_neonDB_api_key ARCJET_KEY = Your_arcjet_api_key PIXABAY_API_KEY = your_pixabay_api_key -
Start the development server
npm run dev # or yarn dev -
Open your browser and navigate to
http://localhost:3000
๐๏ธ Building for Production
npm run build
# or
yarn build๐ฑ Usage
Creating a New Entry
- Sign in to your account
- Navigate to "Write New"
- Fill in the title, mood, content and choose a collection
- Click "Publish"
Searching Notes
- Use the search bar to find notes by title, date, or mood
๐ Authentication
Reflct uses Clerk for authentication. Users can:
- Sign-in / Sign-up with email and password
- Sign-in / Sign-up with Google
- Edit credentials
๐งฉ Project Structure
app
โโโ (auth)
โ โโโ sign-in
โ โ โโโ [[...sign-in]]
โ โ โโโ page.jsx
โ โโโ sign-up
โ โ โโโ [[...sign-up]]
โ โ โโโ page.jsx
โ โโโ layout.jsx
โโโ (main)
โ โโโ collection
โ โ โโโ _components
โ โ โ โโโ delete-collection.jsx
โ โ โ โโโ journal-filters.jsx
โ โ โโโ [collectionId]
โ โ โโโ layout.js
โ โ โโโ page.jsx
โ โโโ dashboard
โ โ โโโ _components
โ โ โ โโโ analytics-loading.jsx
โ โ โ โโโ collection-preview.jsx
โ โ โ โโโ collections.jsx
โ โ โ โโโ mood-analytics.jsx
โ โ โโโ page.jsx
โ โโโ journal
โ โ โโโ [id]
โ โ โ โโโ _components
โ โ โ โ โโโ delete-dialog.jsx
โ โ โ โ โโโ edit-button.jsx
โ โ โ โโโ layout.jsx
โ โ โ โโโ page.jsx
โ โ โโโ write
โ โ โโโ layout.js
โ โ โโโ page.jsx
โ โโโ layout.js
โโโ lib
โ โโโ moods.js
โ โโโ schema.js
โโโ globals.css
โโโ layout.js
โโโ not-found.jsx
โโโ page.js
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
๐ License
This project is licensed under the terms of the license included in the repository.