You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a simple micro-blog built with the Phoenix Framework and inspired by Joplin's note-taking organization. The goal is to provide a straightforward way to create, categorize, and share notes publicly.
4
-
A demo can be seen at https://holzlog.duckdns.org/
3
+
<!-- Add a screenshot for visual appeal -->
5
4
6
-
## Todos:
5
+
A lightweight micro-blog built with the Phoenix Framework, inspired by Joplin's note-taking organization. Create, categorize and share markdown notes in a clean, organized interface.
7
6
8
-
[] Improve and restructure readme
9
-
[] Add Earmark dependency for note body
10
-
[] Implement db backups, either as download or email
-**Note Creation**: A "Create Note" button at the top opens a form to create new notes. Uses a simple text area for content, allowing Markdown.
15
-
-**Note Editing**: Each note displayed has an "Edit" button that opens a form to modify the note.
16
-
-**Categories (Notebooks)**: Notes can be assigned to multiple categories.
17
-
-**Category Sidebar**: A sidebar displays a list of categories/notebooks. Clicking a category filters the notes to only show those in that category. Clicking "All Notes" shows all notes.
18
-
-**Search**: A search bar allows users to find notes by title or content.
19
-
-**Markdown Support**: Note content is interpreted as Markdown for formatted display.
20
-
-**SQLite Database**: Uses SQLite for easy setup and deployment.
21
-
-**Tailwind CSS**: Styled with Tailwind CSS for a clean and responsive design.
11
+
-[For Users](#for-users)
12
+
-[Features](#features)
13
+
-[Using Holz Log](#using-holz-log)
14
+
-[For Developers](#for-developers)
15
+
-[Tech Stack](#tech-stack)
16
+
-[Architecture](#architecture)
17
+
-[Database Schema](#database-schema)
18
+
-[Setup and Installation](#setup-and-installation)
19
+
-[Development](#development)
20
+
-[Roadmap](#roadmap)
22
21
23
-
## Layout
22
+
## For Users
24
23
25
-
The website consists of the following main sections:
24
+
### Features
26
25
27
-
### Header
26
+
-**Simple Note Management**: Create, edit, view, and organize notes with ease
27
+
-**Category Organization**: Assign notes to multiple categories for flexible organization
28
+
-**Quick Search**: Find notes by title or content with the built-in search feature
29
+
-**Clean Interface**: Minimalist design focused on content readability
28
30
29
-
- Contains the site title/logo (if any)
30
-
- "Create Note" button
31
-
- Search bar
31
+
### Using Holz Log
32
32
33
-
### Sidebar (Left)
33
+
1.**Creating Notes**: Click the "Create Note" button in the header to create a new note
34
+
2.**Organizing Notes**: Assign categories when creating or editing notes
35
+
3.**Finding Notes**: Browse by category using the sidebar, or use the search function
36
+
4.**Editing Notes**: Each note has an "Edit" button for quick modifications
34
37
35
-
- A list of all categories/notebooks
36
-
- Each category is a clickable link
37
-
- An "All Notes" link to display all notes regardless of category
38
+
## For Developers
38
39
39
-
### Main Content Area (Right)
40
+
### Tech Stack
40
41
41
-
- Displays a list of notes
42
-
- Each note shows:
43
-
- Title (clickable link to view the full note)
44
-
- Short excerpt of the content (e.g., the first 100-200 characters)
45
-
- The categories/notebooks the note is assigned to
46
-
- An "Edit" button to open the edit form for that note
- A "Back" button to return to the main notes list (or the category listing)
49
+
-**Frontend**:
50
+
-[Phoenix LiveView](https://hexdocs.pm/phoenix_live_view/) - For interactive UI components
51
+
-[Tailwind CSS](https://tailwindcss.com/) - For styling
54
52
55
-
##Tailwind CSS Styling
53
+
### Architecture
56
54
57
-
The site uses Tailwind CSS utility classes extensively. Here's a general overview of the styling approach:
55
+
The application follows Phoenix's standard MVC architecture with LiveView components:
58
56
59
-
-**Readability**: Focus on clear typography, good line height, and sufficient padding/margin
60
-
-**Color Palette**: Primarily light backgrounds, with a muted accent color for links, headings, and highlighting. Dark mode is not implemented in this iteration
61
-
-**Responsive Design**: Uses Tailwind's responsive prefixes (e.g., `md:`, `lg:`) to adjust the layout for different screen sizes. The sidebar typically collapses to a top navigation bar on smaller screens
57
+
-**Contexts**: Business logic organized into domain-specific modules
58
+
-**Schema**: Ecto schemas representing database tables with validations
59
+
-**Controllers/LiveViews**: Handle incoming requests and manage state
60
+
-**Templates**: Render HTML responses using HEEx templates
62
61
63
-
##Database Schema (SQLite)
62
+
#### UI Layout
64
63
65
-
The SQLite database consists of two main tables:
64
+
-**Header**: Site title, create button, search bar
65
+
-**Sidebar**: Category navigation
66
+
-**Main Content**: Note listing or individual note view
66
67
67
-
### notes
68
+
### Database Schema
69
+
70
+
The application uses a SQLite database with the following structure:
0 commit comments