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 -->
4
+
<!-- Add a screenshot for visual appeal -->
5
5
6
-
## Todos:
6
+
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
7
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.
12
+
-[For Users](#for-users)
13
+
-[Features](#features)
14
+
-[Using Holz Log](#using-holz-log)
15
+
-[For Developers](#for-developers)
16
+
-[Tech Stack](#tech-stack)
17
+
-[Architecture](#architecture)
18
+
-[Database Schema](#database-schema)
19
+
-[Setup and Installation](#setup-and-installation)
20
+
-[Development](#development)
21
+
-[Roadmap](#roadmap)
22
+
-[Contributing](#contributing)
23
+
-[License](#license)
22
24
23
-
## Layout
25
+
## For Users
24
26
25
-
The website consists of the following main sections:
27
+
### Features
26
28
27
-
### Header
29
+
-**Simple Note Management**: Create, edit, view, and organize notes with ease
30
+
-**Category Organization**: Assign notes to multiple categories for flexible organization
31
+
-**Quick Search**: Find notes by title or content with the built-in search feature
32
+
-**Clean Interface**: Minimalist design focused on content readability
28
33
29
-
- Contains the site title/logo (if any)
30
-
- "Create Note" button
31
-
- Search bar
34
+
### Using Holz Log
32
35
33
-
### Sidebar (Left)
36
+
1.**Creating Notes**: Click the "Create Note" button in the header to create a new note
37
+
2.**Organizing Notes**: Assign categories when creating or editing notes
38
+
3.**Finding Notes**: Browse by category using the sidebar, or use the search function
39
+
4.**Editing Notes**: Each note has an "Edit" button for quick modifications
34
40
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
41
+
## For Developers
38
42
39
-
### Main Content Area (Right)
43
+
### Tech Stack
40
44
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)
52
+
-**Frontend**:
53
+
-[Phoenix LiveView](https://hexdocs.pm/phoenix_live_view/) - For interactive UI components
54
+
-[Tailwind CSS](https://tailwindcss.com/) - For styling
54
55
55
-
##Tailwind CSS Styling
56
+
### Architecture
56
57
57
-
The site uses Tailwind CSS utility classes extensively. Here's a general overview of the styling approach:
58
+
The application follows Phoenix's standard MVC architecture with LiveView components:
58
59
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
60
+
-**Contexts**: Business logic organized into domain-specific modules
61
+
-**Schema**: Ecto schemas representing database tables with validations
62
+
-**Controllers/LiveViews**: Handle incoming requests and manage state
63
+
-**Templates**: Render HTML responses using HEEx templates
62
64
63
-
##Database Schema (SQLite)
65
+
#### UI Layout
64
66
65
-
The SQLite database consists of two main tables:
67
+
-**Header**: Site title, create button, search bar
68
+
-**Sidebar**: Category navigation
69
+
-**Main Content**: Note listing or individual note view
66
70
67
-
### notes
71
+
### Database Schema
72
+
73
+
The application uses a SQLite database with the following structure:
0 commit comments