Capture your day, effortlessly. A minimalist journal for daily reflections, thoughts, and progress—no distractions, just focus.
DLOG is a modern, privacy-focused daily journaling application designed to help you reflect, grow, and own your journey. Built with the latest web technologies, it provides a seamless experience for capturing your thoughts, tracking habits, and gaining insights from your daily reflections.
- ⚡ Quick Logs - Capture your thoughts in seconds with a distraction-free interface
- 📊 Powerful Insights - Track habits, moods, and progress with smart analytics
- 🔒 Private & Secure - Your reflections stay yours with robust authentication and data encryption
- 🎨 Customizable - Tailor DLOG to your workflow with themes, tags, and prompts
- ✨ AI-Assisted - Get gentle nudges and summaries to deepen your reflection
- ⚙️ Full Control - Export, sync, or share—your data, your rules
DLOG is built with modern, production-ready technologies:
- Next.js 16 - React framework with App Router
- React 19 - UI library
- TypeScript - Type-safe development
- Tailwind CSS 4 - Utility-first CSS framework
- Shadcn UI - Beautiful, accessible component library
- Motion - Smooth animations and transitions
- tRPC - End-to-end typesafe APIs
- Prisma - Next-generation ORM
- PostgreSQL - Reliable relational database
- Better Auth - Modern authentication solution
- TanStack Query - Powerful async state management
- Zod - TypeScript-first schema validation
- Bun - Fast all-in-one JavaScript runtime
- ESLint - Code quality and consistency
- Prettier (via ESLint) - Code formatting
- Bun (v1.0 or higher)
- PostgreSQL database (local or cloud)
- Node.js (v18 or higher) - optional, for compatibility
-
Clone the repository
git clone https://github.com/ubeyidah/dlog.git cd dlog -
Install dependencies
bun install
-
Set up environment variables
cp .env.example .env
Then edit
.envand configure your database and authentication settings:# Database DATABASE_URL="postgresql://user:password@localhost:5432/dlog" # Authentication BETTER_AUTH_SECRET="your-secret-key" BETTER_AUTH_URL="http://localhost:3000" # Email (Optional - for email verification) RESEND_API_KEY="your-resend-api-key"
-
Initialize the database
bun run db:push
-
Start the development server
bun dev
-
Open your browser
Navigate to http://localhost:3000 to see the application.
| Command | Description |
|---|---|
bun dev |
Start the development server with hot reload |
bun run build |
Build the application for production |
bun start |
Start the production server |
bun run lint |
Run ESLint to check for code issues |
bun run typecheck |
Run TypeScript type checking |
bun run db:push |
Push Prisma schema changes to database (dev) |
bun run db:migrate |
Create and apply database migrations (prod) |
bun run db:generate |
Generate Prisma client |
bun run db:studio |
Open Prisma Studio for database management |
Create a .env file in the root directory with the following variables:
# Database Configuration
DATABASE_URL="postgresql://user:password@localhost:5432/dlog"
# Better Auth Configuration
BETTER_AUTH_SECRET="your-secret-key-here"
BETTER_AUTH_URL="http://localhost:3000"
# Email Service (Resend - Optional)
RESEND_API_KEY="re_xxxxxxxxxxxxx"
# Node Environment
NODE_ENV="development"Note: Never commit your
.envfile to version control. Use.env.exampleas a template.
dlog/
├── app/ # Next.js App Router
│ ├── (auth)/ # Authentication routes
│ ├── (marketing)/ # Marketing pages
│ ├── dashboard/ # Dashboard and main app
│ └── api/ # API routes
├── components/ # React components
│ ├── ui/ # Shadcn UI components
│ └── shared/ # Shared components
├── lib/ # Utility functions and configurations
│ ├── auth.ts # Better Auth configuration
│ └── validation/ # Zod schemas
├── prisma/ # Database schema and migrations
├── public/ # Static assets
├── trpc/ # tRPC router and configuration
└── hooks/ # Custom React hooks
We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.
- Fork the repository on GitHub
- Clone your fork locally
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes and test thoroughly
- Commit your changes (
git commit -m 'Add amazing feature') - Push to your fork (
git push origin feature/amazing-feature) - Open a Pull Request against the
mainbranch
- Follow the existing code style and conventions
- Write clear, descriptive commit messages
- Add tests if applicable
- Update documentation as needed
- Ensure all checks pass before submitting
For detailed contribution guidelines, please see AGENTS.md.
This project is licensed under the MIT License - see the LICENSE file for details.
Ubeyidah
- Built with Next.js and React
- UI components from Shadcn UI
- Icons from Hugeicons
- Inspired by the minimalist journaling movement
⭐ Star this repository if you find it helpful!
Made with ❤️ by ubeyidah