My current mail setup is mu4e and emacs based mail client included with the amazing mu mail indexer. mu works similar to notmuch but allows easy bidirectional operation with the original Maildir. Add mbsync (isync) to sync imap locally and msmtp and you have a full mail setup.
The idea is to create a fancy version of this setup using a browser based application. The architecture is similar to mu4e
. Instead of mu4e
talking to mu-server
, a small backend written in go talks to mu-server
. The backend serves a javascript application and provides an HTTP API to it. The app is written in Vue.js.
The current prototype can already display the subjects of the mail as you type in the textfield. It uses plain rest for now. A Websocket would allow for progress report (but it is so fast that has not been necessary until now).
The backend implements the mu-server
s-exp protocol and for now exposes the cmd:find
operation.
This project is part of:
Hack Week 16
Activity
Comments
-
about 7 years ago by vitoravelino | Reply
@dmacvicar, is the prototype source hosted somewhere? If yes, is there a
Getting Started
in the README? I'd like to give it a try. :)
Similar Projects
Contribute to terraform-provider-libvirt by pinvernizzi
Description
The SUSE Manager (SUMA) teams' main tool for infrastructure automation, Sumaform, largely relies on terraform-provider-libvirt. That provider is also widely used by other teams, both inside and outside SUSE.
It would be good to help the maintainers of this project and give back to the community around it, after all the amazing work that has been already done.
If you're interested in any of infrastructure automation, Terraform, virtualization, tooling development, Go (...) it is also a good chance to learn a bit about them all by putting your hands on an interesting, real-use-case and complex project.
Goals
- Get more familiar with Terraform provider development and libvirt bindings in Go
- Solve some issues and/or implement some features
- Get in touch with the community around the project
Resources
- CONTRIBUTING readme
- Go libvirt library in use by the project
- Terraform plugin development
- "Good first issue" list
Harvester Packer Plugin by mrohrich
Description
Hashicorp Packer is an automation tool that allows automatic customized VM image builds - assuming the user has a virtualization tool at their disposal. To make use of Harvester as such a virtualization tool a plugin for Packer needs to be written. With this plugin users could make use of their Harvester cluster to build customized VM images, something they likely want to do if they have a Harvester cluster.
Goals
Write a Packer plugin bridging the gap between Harvester and Packer. Users should be able to create customized VM images using Packer and Harvester with no need to utilize another virtualization platform.
Resources
Hashicorp documentation for building custom plugins for Packer https://developer.hashicorp.com/packer/docs/plugins/creation/custom-builders
Source repository of the Harvester Packer plugin https://github.com/m-ildefons/harvester-packer-plugin
Jenny Static Site Generator by adam.pickering
Description
For my personal site I have been using hugo. It works, but I am not satisfied: every time I want to make a change (which is infrequently) I have to read through the documentation again to understand how hugo works. I don't find the documentation easy to use, and the structure of the repository that hugo requires is unintuitive/more complex than what I need. So, I have decided to write my own simple static site generator in Go. It is named Jenny, after my wife.
Goals
- Pages can be written in markdown (which is automatically converted to HTML), but other file types are also allowed
- Easy to understand and use
- Intuitive, simple design
- Clear documentation
- Hot reloading
- Binaries provided for download
- Future maintenance is easy
- Automated releases
Resources
https://github.com/adamkpickering/jenny
Automate PR process by idplscalabrini
Description
This project is to streamline and enhance the pr review process by adding automation for identifying some issues like missing comments, identifying sensitive information in the PRs like credentials. etc. By leveraging GitHub Actions and golang hooks we can focus more on high-level reviews
Goals
- Automate lints and code validations on Github actions
- Automate code validation on hook
- Implement a bot to pre-review the PRs
Resources
Golang hooks and Github actions
file-organizer: A CLI Tool for Efficient File Management by okhatavkar
Description
Create a Go-based CLI tool that helps organize files in a specified folder by sorting them into subdirectories based on defined criteria, such as file type or creation date. Users will pass a folder path as an argument, and the tool will process and organize the files within it.
Goals
- Develop Go skills by building a practical command-line application.
- Learn to manage and manipulate files and directories in Go using standard libraries.
- Create a tool that simplifies file management, making it easier to organize and maintain directories.
Resources
- Go Standard Libraries: Utilize os, filepath, and time for file operations.
- CLI Development: Use flag for basic argument parsing or consider cobra for enhanced functionality.
- Go Learning Material: Go by Example and The Go Programming Language Documentation.
Features
- File Type Sorting: Automatically move files into subdirectories based on their extensions (e.g., documents, images, videos).
- Date-Based Organization: Add an option to organize files by creation date into year/month folders.
- User-Friendly CLI: Build intuitive commands and clear outputs for ease of use. This version maintains the core idea of organizing files efficiently while focusing on Go development and practical file management.
Longhorn UI Extension (POC) by yiya.chen
Description
The goal is to create a Longhorn UI extension within Rancher using existing resources.
Longhorn’s UI is built using React, while Rancher’s UI extensions are built using Vue. Developers will explore different approaches to integrate and extend Longhorn’s UI within Rancher’s Vue-based ecosystem, aiming to create a seamless, functional UI extension.
Goals
- Build a Longhorn UI extension (look and feel)
- Support theme switching to align with Rancher’s UI
Results
- https://github.com/a110605/longhorn-hackday
- https://github.com/a110605/longhorn-ui/tree/darkmode
- https://github.com/houhoucoop/hackweek/tree/main/hackweek24
Resources
- Longhorn UI: https://github.com/longhorn/longhorn-ui
- Rancher UI Extension: https://extensions.rancher.io/extensions/next/home
- darkreader: https://www.npmjs.com/package/darkreader
- veaury: https://github.com/gloriasoft/veaury
- module federation: https://webpack.js.org/concepts/module-federation/