A small service written in Go and Vue.js which lets you share self-destructing secrets.
Secret messages will self-destruct/expire after it has been viewed a given number of times or if the time expires.
See it live!
- Go version v1.12
- MongoDB version v3.6
- Vue.js version v2.6
Run Enigma backend server by issuing the following commands:
λ go build -o bin/enigma -v
λ ./bin/enigma
And the server will be up and running on the specified port.
Note: To load environment variables if you're a terminal girl/guy, you might want to use direnv. Simply, make the variables present in
.env.example
available.
During development Hot-reloading is quite helpful. Fresh can be used for hot-reloading go code. And to run simply do the following to make the server go live:
λ cp .runner.conf.example runner.conf
λ fresh
- The backend is written in Go with Gorilla/mux which releases a RESTful api.
- MongoDB is being used as the NoSQL database of choice.
- The frontend uses Vue.js that interacts with the rest api.
- All CURD operations are possible via the RESTful api and can respond in XML, JSON and can be extended to support YAML.
- Every secret is encrypted using AES algorithm in GCM Mode, thus making sure that it's secure.
The logo is a reference to the Eight Trigrams Sealing Jutsu in the anime © Naruto.
Well this is kind of a learning project, feel free to fork it and happy hacking :)
Copyright © 2019 Shashank Srivastav