Design and build a one time secret management system that allows users to anonymously create and share secrets with others on demand.
While a secret management system often has security implications, I interpreted this ask as a quick way to share a secret with a friend anonymously or with a pseudonym.
As a user, I want to input a secret, so that I can share it with a friend
As a user, I want to include my name and my confidante's name, so that that I can personalize the secret.
As a user, I would like a URL for my secret, so that it is easy for me to share the secret with a friend.
As a user, I don't want my secret to be found through google or other search engines.
As a user, I want to email my secret through the site, so that I can send it to someone anonymously
As a user, I want my secret to dissappear after a specified amount of time, so that I know it will go away
As a user, I want to supply a password for my secret, so that I can ensure only my confidant can see it
As an administrator, I would like to see analytics about the use of the site, so that I can know how many people are using it and other success criteria
Run docker-compose up -d in the root directory to start the app. Visit the app at http://localhost:5000.
The app can be run outside of docker with the following steps:
- Ensure python 3.8+ is installed locally
- Ensure postgres is running with a database that is specified with the
POSTGRES_DBvariable in the.envfile and the postgres user/password variables are correct. - Update the
HOST_IPaddress in the.envfile tolocalhost - Run
pip install -r requirments.txt - Run
python run.py - Visit the app at http://localhost:5000
Run the following:
npm installnpx tailwindcss -i ./app/static/src/input.css -o ./app/static/dist/css/output.css --watch
In response to:
say what you would do instead if it was a production app
A production version would require tests, the app config set to production and debugging turned off, a production hosting setup with a production WSGI server, continous integration for deployment, a logo and art with the propper usage rights (current logo copy/pated from https://www.logomaker.com), and many other items.
