The Note Taker App is a simple web application built using Golang and the Fiber framework. It allows users to create, view, and delete notes. Notes are stored in JSON format and retrieved from a file, providing persistence across application sessions.
- Create new notes with a title and content.
- View a list of all existing notes.
- Delete notes based on their unique identifiers.
- Persistent storage of notes in JSON format.
- Golang: The programming language used to develop the backend logic of the application.
- Fiber: A web framework for Golang, used to handle HTTP requests and responses.
- JSON: Notes are stored and retrieved in JSON format for easy serialization and deserialization.
- HTMX: A JavaScript library for creating web applications with the same simplicity and power as server-based applications.
- Templ: A simple and lightweight templating engine for Go, used to render HTML views.
- Tailwind CSS: A utility-first CSS framework used for styling the application.
-
Clone the Repository:
git clone https://github.com/LamichhaneBibek/goth-notes.git cd goth-notes
-
Install Dependencies:
go mod tidy
-
Run the Application:
make start
The application will be accessible at
http://localhost:8080
.
- Access the application through a web browser.
- Click on "Add Note ➕" to create a new note. Enter the title and content, then click "Save."
- Navigate to "Note List 📑" to view all existing notes.
- To delete a note, click on the "Delete" button associated with the note.
- main.go: Entry point of the application, contains the server setup and routing.
- components/: HTML templates for rendering different views.
- notes/: Package handling note-related logic, including CRUD operations and JSON file interactions.
- Notes are stored in a file named
collection.json
in the root directory. - The
collection.json
file is automatically created on application startup if it doesn't exist.
Contributions are welcome! Feel free to submit issues, feature requests, or pull requests.
This project is licensed under the MIT License.
Happy Note Taking! 🗒️🚀