A good start is half the battle..
Such or similar statements also apply to the development of web applications. Anyone who starts with the right tools, in a suitable environment and with a solid foundation, may later not have to tediously restructure the app. Design patterns and best practices in general are often taken very seriously in boilerplates, giving the developer clear guidelines.
With this mindset I have looked at the “Ultimate Boilerplate for Products” Pup from cleverbeagle.com. This is a template for the development of a web application based on Meteor, React, MongoDB and GraphQL. Subsequently I want to answer the question to what extent boilerplates help us with the development of prototypes and when they may actually hinder us.
What does Clever Beagle’s Tool Pup have to offer?
With the installation of Pup (currently in version v2.0.1) you get the executable source code of a small web application for managing Markdown documents. The app contains components to realize the following tasks:
- User registration via OAuth and user administration via an admin panel
- Sending e-mails based on HTML and text templates
- Automatic generation and indexing of a random database set
- Table definitions via GraphQL and an own GraphQL Playground
- Create a sitemap and SEO metadata with app details
- Routing setup for public and authenticated requests
- Server side rendering (SSR) for faster presentation in the browser
- Form validation
- Styling and customization via bootstrap and styled-components
- Browser policies for protection against XSS
- Data export, account deletion and declaration of consent according to GDPR / DSGVO
- Local git repository with an own Linter Script Hooks
- Unit and end-to-end (E2E) tests
- Configuration for Development / Staging / Production Settings
- Complete workflow for app releases and continuous integration including DNS entries, SSL certificates and hosting on Meteor Galaxy (Requires additional access data)
This list is constantly being expanded, as Pup always strives to relieve the developers even more and cover more areas through this boilerplate.