Skip to content

Commit 8acdb43

Browse files
committed
Add proper README
1 parent 1087bbf commit 8acdb43

1 file changed

Lines changed: 136 additions & 2 deletions

File tree

README.md

Lines changed: 136 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,137 @@
1-
# open_forms
1+
# OpenForms
22

3-
A description of this project.
3+
**OpenForms** is a simple, local-first form collection app for GNOME.
4+
It is designed for situations where setting up online forms is impractical or unreliable — such as conferences, meetups, workshops, or community events.
5+
6+
OpenForms works fully offline, stores responses locally, and avoids unnecessary complexity.
7+
8+
---
9+
10+
## Why OpenForms?
11+
12+
The idea for OpenForms began during a discussion at a conference.
13+
14+
At many conferences and events, collecting information through online forms often becomes frustrating due to:
15+
- Unreliable or congested networks
16+
- Failing Wi-Fi chipsets
17+
- Captive portals, passwords, and timeouts
18+
- Services that simply don’t work when you need them
19+
20+
In such scenarios, a small, no-fuss, offline-friendly form collection tool makes far more sense.
21+
22+
After searching for existing solutions and not finding anything that fit this use case well, OpenForms was built to fill that gap.
23+
24+
---
25+
26+
## Features
27+
28+
### Current
29+
- Create structured forms using a simple configuration format
30+
- Collect responses locally and store them in **CSV** format
31+
- Attach images using the system file picker
32+
- Clean integration with **GNOME**
33+
- Sandboxed distribution via **Flatpak**
34+
35+
### Planned
36+
- Create form configurations directly from the GUI (no manual JSON editing)
37+
- Support for making fields required
38+
- Strong form validation
39+
- Form history to quickly open them again
40+
41+
---
42+
43+
## Privacy & Permissions
44+
45+
OpenForms is built with a **privacy-first, local-first** philosophy.
46+
47+
- ❌ No network access
48+
- ❌ No tracking or analytics
49+
- ❌ No accounts or cloud services
50+
- ✅ All data stays on your device
51+
52+
The app only requests **pictures access**, which is used exclusively for attaching images to form entries via the system file picker.
53+
54+
---
55+
56+
## Use Cases
57+
58+
- Conference or meetup registrations
59+
- Workshop attendance tracking
60+
- Offline surveys
61+
- Temporary data collection at events
62+
- Any scenario where internet access cannot be relied upon
63+
64+
---
65+
66+
## Installation
67+
68+
### Flatpak (recommended)
69+
70+
Please use the latest release or build using GNOME Builder.
71+
72+
## Sample Config
73+
74+
```json
75+
{
76+
"form_name": "OpenForms – User Feedback",
77+
"fields": [
78+
{
79+
"id": "title",
80+
"type": "label",
81+
"label": "OpenForms Feedback",
82+
"style": ["title-1"]
83+
},
84+
85+
{
86+
"id": "subtitle",
87+
"type": "label",
88+
"label": "Help us improve by sharing your experience",
89+
"style": ["subtitle"]
90+
},
91+
92+
{
93+
"id": "hero_image",
94+
"type": "picture",
95+
"label": "OpenForms logo",
96+
"uri": "file:///home/aryan/Pictures/OpenForms.png",
97+
"width": 480,
98+
"height": 200
99+
},
100+
101+
{
102+
"id": "name",
103+
"type": "entry",
104+
"label": "Your name",
105+
},
106+
107+
{
108+
"id": "email",
109+
"type": "entry",
110+
"label": "Email address",
111+
},
112+
113+
{
114+
"id": "usage_type",
115+
"type": "radio",
116+
"label": "How are you using OpenForms?",
117+
"options": [
118+
"Personal use",
119+
"Education",
120+
"Work / Research",
121+
"Just exploring"
122+
],
123+
},
124+
125+
{
126+
"id": "i_agree_to_submit",
127+
"type": "check",
128+
"label": "I agree to submit"
129+
},
130+
131+
{
132+
"id": "comments",
133+
"type": "text",
134+
"label": "Additional comments or suggestions"
135+
}
136+
]
137+
}

0 commit comments

Comments
 (0)