Blueprint started as my playground to experiment with ES6 and React. Eventually I added Redux and other javascript technologies that I wanted to learn how to use. I wanted to start from scratch and build a semi-real application to experiment with, something more complex than TodoMVC but along similar lines. I wanted the app to be a single-page application with a custom backend that had user authentication.
Blueprint is a single-page application built with React that uses Redux for state management against a REST API. Babel and Parcel are used to build assets using the latest Javascript features. Coding style is enforced with ESLint and Prettier. Tests are written with Jest and run on using GitHub actions. Locally when developing I use SQLite, but I also test using Postgres.
The server component of the application uses express and authentication is managed with passport. All of the database interactivity is done using knex.
To get started, simply:
npm install
npm run dev
You can run tests by doing:
npm test
You can run an end to end test using puppeteer by doing:
npm run test-e2e
You can lint the source by doing:
npm run lint
You can build the production assets by doing:
npm run build
You can start the production version of the app by doing:
NODE_ENV=production npm start
Drop me a line at tweet.