55
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								README.md
									
									
									
									
									
								
							@@ -1,3 +1,58 @@
 | 
				
			|||||||
# mailer
 | 
					# 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 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