Merge pull request 'Added real information to the README feature/3-readme' (#8) from feature/3-readme into dev
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			Reviewed-on: #8
This commit was merged in pull request #8.
	This commit is contained in:
		
							
								
								
									
										75
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										75
									
								
								README.md
									
									
									
									
									
								
							@@ -1,3 +1,74 @@
 | 
			
		||||
# mailer
 | 
			
		||||
# @lfk/mailer
 | 
			
		||||
[](https://ci.odit.services/lfk/mailer)
 | 
			
		||||
 | 
			
		||||
Handles mail generation and sending (pw reset, welcome mail, etc)
 | 
			
		||||
Handles mail generation and sending (pw reset, welcome mail, etc)
 | 
			
		||||
 | 
			
		||||
## Dev Setup 🛠
 | 
			
		||||
> Local dev setup
 | 
			
		||||
 | 
			
		||||
1. Rename the .env.example file to .env (you can adjust app port and other settings, if needed) or generate a example env with `yarn && yarn test:generate_env`.
 | 
			
		||||
2. Install Dependencies
 | 
			
		||||
   ```bash
 | 
			
		||||
   yarn
 | 
			
		||||
   ```
 | 
			
		||||
3. Start the server
 | 
			
		||||
   ```bash
 | 
			
		||||
   yarn dev
 | 
			
		||||
   ```
 | 
			
		||||
 | 
			
		||||
## Templates
 | 
			
		||||
> The mailer uses html and plaintext templates to generate various mails.
 | 
			
		||||
> The templates are stored in src/templates by default.
 | 
			
		||||
 | 
			
		||||
We provide a set of default templates that we use for the ["Lauf für Kaya!" charity run](https://lauf-fuer-kaya.de).
 | 
			
		||||
We use handlebars for templateing utilizing i18next for translation - the i18n string format in the templates is : `{{__ "string"}}`
 | 
			
		||||
You can provide your own templates by replacing the ones we provided before compiling the project or by simply mounting your custom templates into the docker container.
 | 
			
		||||
 | 
			
		||||
The server currently needs the following templates to work:
 | 
			
		||||
* pw-reset.html
 | 
			
		||||
* pw-reset.txt
 | 
			
		||||
* test.html
 | 
			
		||||
* test.txt
 | 
			
		||||
* welcome_runner.html
 | 
			
		||||
* welcome_runner.txt
 | 
			
		||||
 | 
			
		||||
| Name | Type | Default | Description
 | 
			
		||||
| - | - | - | -
 | 
			
		||||
| APP_PORT | Number | 4010 | The port the backend server listens on. Is optional.
 | 
			
		||||
| NODE_ENV | String | dev | The apps env - influences debug info.
 | 
			
		||||
| API_KEY | String(min length: 64) | Random generated string | The api key you want to use for auth (query-param `key`), has to be at least 64 chars long.
 | 
			
		||||
| API_URL | String(url) | "http://localhost:8080" | The URL ponting to the base (root) of the lfk runner system.
 | 
			
		||||
| MAIL_SERVER | String(FQDN) | None | The mailserver (smtp) used to send mails via nodemailer.
 | 
			
		||||
| MAIL_PORT | Number | 25 | The mailserver's port (smtp).
 | 
			
		||||
| MAIL_USER | String | None | The username used to authenticate against the mailserver.
 | 
			
		||||
| MAIL_PASSWORD | String | None | The password used to authenticate against the mailserver.
 | 
			
		||||
| MAIL_FROM | String | None | The mail address that mails get sent from.
 | 
			
		||||
| PRIVACY_URL | String | "/privacy" | The url path that get's attached to the app url to link to the privacy page.
 | 
			
		||||
| IMPRINT_URL | String | "/imprint" | The url path that get's attached to the app url to link to the imprint page.
 | 
			
		||||
| COPYRIGHT_OWNER  | String | "LfK!" | Text that gets inserted as the "copyright by" owner in the mails.
 | 
			
		||||
| EVENT_NAME | String | "Testing 4 Kaya" | The event's name - used to generate the mail text.
 | 
			
		||||
| CONTACT_MAIL  | String(email) | MAIL_FROM | Contact mail address listed at the bottom of some mail templates.
 | 
			
		||||
 | 
			
		||||
## Recommended Editor
 | 
			
		||||
 | 
			
		||||
[Visual Studio Code](https://code.visualstudio.com/)
 | 
			
		||||
 | 
			
		||||
### Recommended Extensions
 | 
			
		||||
 | 
			
		||||
* will be automatically recommended via ./vscode/extensions.json
 | 
			
		||||
* we also provide a config for i18n-ally in the .vscode folder
 | 
			
		||||
 | 
			
		||||
## Staging
 | 
			
		||||
### Branches & Tags
 | 
			
		||||
* vX.Y.Z: Release tags created from the main branch
 | 
			
		||||
   * The version numbers follow the semver standard
 | 
			
		||||
   * A new release tag automaticly triggers the release ci pipeline
 | 
			
		||||
* main: Protected "release" branch
 | 
			
		||||
   * The latest tag of the docker image get's build from this
 | 
			
		||||
   * New releases get created as tags from this   
 | 
			
		||||
* dev: Current dev branch for merging the different feature branches and bugfixes
 | 
			
		||||
   * The dev tag of the docker image get's build from this
 | 
			
		||||
   * Only push minor changes to this branch!
 | 
			
		||||
   * To merge a feature branch into this please create a pull request
 | 
			
		||||
* feature/xyz: Feature branches - nameing scheme: `feature/issueid-title`
 | 
			
		||||
* bugfix/xyz: Branches for bugfixes - nameing scheme:`bugfix/issueid-title`
 | 
			
		||||
		Reference in New Issue
	
	Block a user