/mysimplemarkdownjournal

My Simple Markdown Journal - a super simple web app for creating and managing markdown journal entries

Primary LanguageTypeScript

Journal Search

A modern web application for managing and searching through markdown journal entries. Built with Node.js, Express, React, and Material-UI.

Features

  • Upload and manage markdown files
  • Full-text search across entries
  • Tag-based filtering
  • Modern dark theme UI
  • Markdown preview
  • Responsive design

Prerequisites

  • Node.js (v14 or higher)
  • npm (v6 or higher)

Setup

  1. Clone the repository

  2. Set the REACT_APP_API_URL=http://YOURIPORHOST:3001 value client .env path

  3. Install backend dependencies:

    npm install
  4. Install frontend dependencies:

    cd client
    npm install
  5. Start the backend server:

    npm run dev
  6. In a new terminal, start the frontend development server:

    cd client
    npm start

The application will be available at:

Functionality

  1. Upload (one or more) markdown file(s) using the "Upload Markdown" setting
  2. Add tags to your entry (comma-separated)
  3. Use the search bar to find entries by content or use the tags field to filter entries by tags
  4. Pin tags you want to often access
  5. Viewing and editing of existing markdown files
  6. A simplified mobile view (but with all the functionality you'd want!)
  7. Export all your entries as a zip file

File Structure

journal-search/
├── client/                 # React frontend
│   ├── src/
│   │   ├── App.tsx        # Main application component
│   │   └── ...
│   └── package.json
├── src/
│   └── server.ts          # Express backend
├── uploads/               # Temporary storage for uploaded files
├── journal.db            # SQLite database
├── package.json
└── README.md

Technologies Used

  • Frontend:

    • React
    • TypeScript
    • Material-UI
    • React Markdown
    • Axios
  • Backend:

    • Node.js
    • Express
    • TypeScript
    • SQLite
    • Multer (file uploads)
    • Marked (markdown parsing)