├── .github
├── ISSUE_TEMPLATE.md
└── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── Contributing.md
├── LICENSE
├── README.md
├── docs
├── cover.png
├── logo.svg
└── srmkzilla_logo.png
├── package.json
├── src
├── cli
│ ├── generator.ts
│ ├── greet.ts
│ ├── index.ts
│ └── main.ts
├── index.js
└── templates
│ ├── client-bootstrap-js
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ └── src
│ │ ├── App.jsx
│ │ ├── App.scss
│ │ ├── index.jsx
│ │ ├── index.scss
│ │ ├── logo.svg
│ │ ├── reportWebVitals.js
│ │ └── setupTests.js
│ ├── client-bootstrap-ts
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src
│ │ ├── App.scss
│ │ ├── App.tsx
│ │ ├── index.scss
│ │ ├── index.tsx
│ │ ├── logo.svg
│ │ ├── react-app-env.d.ts
│ │ ├── reportWebVitals.ts
│ │ └── setupTests.ts
│ └── tsconfig.json
│ ├── client-css-js
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ └── src
│ │ ├── App.css
│ │ ├── App.jsx
│ │ ├── index.css
│ │ ├── index.jsx
│ │ ├── logo.svg
│ │ ├── reportWebVitals.js
│ │ └── setupTests.js
│ ├── client-css-ts
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src
│ │ ├── App.css
│ │ ├── App.tsx
│ │ ├── index.css
│ │ ├── index.tsx
│ │ ├── logo.svg
│ │ ├── react-app-env.d.ts
│ │ ├── reportWebVitals.ts
│ │ └── setupTests.ts
│ └── tsconfig.json
│ ├── client-scss-js
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ └── src
│ │ ├── App.jsx
│ │ ├── App.scss
│ │ ├── index.jsx
│ │ ├── index.scss
│ │ ├── logo.svg
│ │ ├── reportWebVitals.js
│ │ └── setupTests.js
│ ├── client-scss-ts
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src
│ │ ├── App.scss
│ │ ├── App.tsx
│ │ ├── index.scss
│ │ ├── index.tsx
│ │ ├── logo.svg
│ │ ├── react-app-env.d.ts
│ │ ├── reportWebVitals.ts
│ │ └── setupTests.ts
│ └── tsconfig.json
│ ├── client-styled-components-js
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ └── src
│ │ ├── App.jsx
│ │ ├── App.scss
│ │ ├── index.jsx
│ │ ├── index.scss
│ │ ├── logo.svg
│ │ ├── reportWebVitals.js
│ │ └── setupTests.js
│ ├── client-styled-components-ts
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src
│ │ ├── App.scss
│ │ ├── App.tsx
│ │ ├── index.scss
│ │ ├── index.tsx
│ │ ├── logo.svg
│ │ ├── react-app-env.d.ts
│ │ ├── reportWebVitals.ts
│ │ └── setupTests.ts
│ └── tsconfig.json
│ ├── client-tailwind-js
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src
│ │ ├── App.jsx
│ │ ├── App.scss
│ │ ├── index.jsx
│ │ ├── logo.svg
│ │ ├── reportWebVitals.js
│ │ ├── setupTests.js
│ │ └── tailwind.style.scss
│ └── tailwind.config.js
│ ├── client-tailwind-ts
│ ├── .eslintrc
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src
│ │ ├── App.scss
│ │ ├── App.tsx
│ │ ├── index.tsx
│ │ ├── logo.svg
│ │ ├── react-app-env.d.ts
│ │ ├── reportWebVitals.ts
│ │ ├── setupTests.ts
│ │ └── tailwind.style.scss
│ ├── tailwind.config.js
│ └── tsconfig.json
│ ├── full-stack-bootstrap-express-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── .prettierrc.json
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src
│ │ │ ├── App.jsx
│ │ │ ├── App.scss
│ │ │ ├── index.jsx
│ │ │ ├── index.scss
│ │ │ ├── logo.svg
│ │ │ ├── reportWebVitals.js
│ │ │ └── setupTests.js
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ ├── api
│ │ └── index.js
│ │ ├── config
│ │ └── index.js
│ │ ├── index.js
│ │ └── loaders
│ │ ├── database.js
│ │ ├── express.js
│ │ ├── index.js
│ │ └── logger.js
│ ├── full-stack-bootstrap-express-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.scss
│ │ │ ├── App.tsx
│ │ │ ├── index.tsx
│ │ │ ├── logo.svg
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ ├── src
│ │ ├── api
│ │ │ └── index.ts
│ │ ├── config
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ └── loaders
│ │ │ ├── database.ts
│ │ │ ├── express.ts
│ │ │ ├── index.ts
│ │ │ └── logger.ts
│ └── tsconfig.json
│ ├── full-stack-bootstrap-server-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── .prettierrc.json
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src
│ │ │ ├── App.jsx
│ │ │ ├── App.scss
│ │ │ ├── index.jsx
│ │ │ ├── index.scss
│ │ │ ├── logo.svg
│ │ │ ├── reportWebVitals.js
│ │ │ └── setupTests.js
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ └── index.js
│ ├── full-stack-bootstrap-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.scss
│ │ │ ├── App.tsx
│ │ │ ├── index.tsx
│ │ │ ├── logo.svg
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ └── tsconfig.json
│ ├── full-stack-css-express-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── .prettierrc.json
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src
│ │ │ ├── App.css
│ │ │ ├── App.jsx
│ │ │ ├── index.css
│ │ │ ├── index.jsx
│ │ │ ├── logo.svg
│ │ │ ├── reportWebVitals.js
│ │ │ └── setupTests.js
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ ├── api
│ │ └── index.js
│ │ ├── config
│ │ └── index.js
│ │ ├── index.js
│ │ └── loaders
│ │ ├── database.js
│ │ ├── express.js
│ │ ├── index.js
│ │ └── logger.js
│ ├── full-stack-css-express-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.css
│ │ │ ├── App.tsx
│ │ │ ├── index.css
│ │ │ ├── index.tsx
│ │ │ ├── logo.svg
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ ├── src
│ │ ├── api
│ │ │ └── index.ts
│ │ ├── config
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ └── loaders
│ │ │ ├── database.ts
│ │ │ ├── express.ts
│ │ │ ├── index.ts
│ │ │ └── logger.ts
│ └── tsconfig.json
│ ├── full-stack-css-server-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── .prettierrc.json
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src
│ │ │ ├── App.css
│ │ │ ├── App.jsx
│ │ │ ├── index.css
│ │ │ ├── index.jsx
│ │ │ ├── logo.svg
│ │ │ ├── reportWebVitals.js
│ │ │ └── setupTests.js
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ └── index.js
│ ├── full-stack-css-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.css
│ │ │ ├── App.tsx
│ │ │ ├── index.css
│ │ │ ├── index.tsx
│ │ │ ├── logo.svg
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ └── tsconfig.json
│ ├── full-stack-scss-express-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── .prettierrc.json
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src
│ │ │ ├── App.jsx
│ │ │ ├── App.scss
│ │ │ ├── index.jsx
│ │ │ ├── index.scss
│ │ │ ├── logo.svg
│ │ │ ├── reportWebVitals.js
│ │ │ └── setupTests.js
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ ├── api
│ │ └── index.js
│ │ ├── config
│ │ └── index.js
│ │ ├── index.js
│ │ └── loaders
│ │ ├── database.js
│ │ ├── express.js
│ │ ├── index.js
│ │ └── logger.js
│ ├── full-stack-scss-express-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.scss
│ │ │ ├── App.tsx
│ │ │ ├── index.tsx
│ │ │ ├── logo.svg
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ ├── src
│ │ ├── api
│ │ │ └── index.ts
│ │ ├── config
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ └── loaders
│ │ │ ├── database.ts
│ │ │ ├── express.ts
│ │ │ ├── index.ts
│ │ │ └── logger.ts
│ └── tsconfig.json
│ ├── full-stack-scss-server-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── .prettierrc.json
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src
│ │ │ ├── App.jsx
│ │ │ ├── App.scss
│ │ │ ├── index.jsx
│ │ │ ├── index.scss
│ │ │ ├── logo.svg
│ │ │ ├── reportWebVitals.js
│ │ │ └── setupTests.js
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ └── index.js
│ ├── full-stack-scss-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.scss
│ │ │ ├── App.tsx
│ │ │ ├── index.tsx
│ │ │ ├── logo.svg
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ └── tsconfig.json
│ ├── full-stack-styled-components-express-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── .prettierrc.json
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src
│ │ │ ├── App.jsx
│ │ │ ├── App.scss
│ │ │ ├── index.jsx
│ │ │ ├── index.scss
│ │ │ ├── logo.svg
│ │ │ ├── reportWebVitals.js
│ │ │ └── setupTests.js
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ ├── api
│ │ └── index.js
│ │ ├── config
│ │ └── index.js
│ │ ├── index.js
│ │ └── loaders
│ │ ├── database.js
│ │ ├── express.js
│ │ ├── index.js
│ │ └── logger.js
│ ├── full-stack-styled-components-express-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.scss
│ │ │ ├── App.tsx
│ │ │ ├── index.tsx
│ │ │ ├── logo.svg
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ ├── src
│ │ ├── api
│ │ │ └── index.ts
│ │ ├── config
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ └── loaders
│ │ │ ├── database.ts
│ │ │ ├── express.ts
│ │ │ ├── index.ts
│ │ │ └── logger.ts
│ └── tsconfig.json
│ ├── full-stack-styled-components-server-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── .prettierrc.json
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src
│ │ │ ├── App.jsx
│ │ │ ├── App.scss
│ │ │ ├── index.jsx
│ │ │ ├── index.scss
│ │ │ ├── logo.svg
│ │ │ ├── reportWebVitals.js
│ │ │ └── setupTests.js
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ └── index.js
│ ├── full-stack-styled-components-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.scss
│ │ │ ├── App.tsx
│ │ │ ├── index.tsx
│ │ │ ├── logo.svg
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ └── tsconfig.json
│ ├── full-stack-tailwind-express-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── .prettierrc.json
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.jsx
│ │ │ ├── App.scss
│ │ │ ├── index.jsx
│ │ │ ├── logo.svg
│ │ │ ├── reportWebVitals.js
│ │ │ ├── setupTests.js
│ │ │ └── tailwind.style.scss
│ │ └── tailwind.config.js
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ ├── api
│ │ └── index.js
│ │ ├── config
│ │ └── index.js
│ │ ├── index.js
│ │ └── loaders
│ │ ├── database.js
│ │ ├── express.js
│ │ ├── index.js
│ │ └── logger.js
│ ├── full-stack-tailwind-server-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── .prettierrc.json
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.jsx
│ │ │ ├── App.scss
│ │ │ ├── index.jsx
│ │ │ ├── logo.svg
│ │ │ ├── reportWebVitals.js
│ │ │ ├── setupTests.js
│ │ │ └── tailwind.style.scss
│ │ └── tailwind.config.js
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ └── index.js
│ ├── full-stack-tailwind-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.scss
│ │ │ ├── App.tsx
│ │ │ ├── index.tsx
│ │ │ ├── logo.svg
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ ├── setupTests.ts
│ │ │ └── tailwind.style.scss
│ │ ├── tailwind.config.js
│ │ └── tsconfig.json
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ └── tsconfig.json
│ ├── full-stack-tailwind-tsx-express-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── client
│ │ ├── .eslintrc
│ │ ├── .gitignore
│ │ ├── package.json
│ │ ├── public
│ │ │ ├── favicon.ico
│ │ │ ├── index.html
│ │ │ ├── logo192.png
│ │ │ ├── logo512.png
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src
│ │ │ ├── App.scss
│ │ │ ├── App.tsx
│ │ │ ├── index.tsx
│ │ │ ├── logo.svg
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ ├── setupTests.ts
│ │ │ └── tailwind.style.scss
│ │ ├── tailwind.config.js
│ │ └── tsconfig.json
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ ├── src
│ │ ├── api
│ │ │ └── index.ts
│ │ ├── config
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ └── loaders
│ │ │ ├── database.ts
│ │ │ ├── express.ts
│ │ │ ├── index.ts
│ │ │ └── logger.ts
│ └── tsconfig.json
│ ├── server-express-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ ├── api
│ │ └── index.js
│ │ ├── config
│ │ └── index.js
│ │ ├── index.js
│ │ └── loaders
│ │ ├── database.js
│ │ ├── express.js
│ │ ├── index.js
│ │ └── logger.js
│ ├── server-express-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ └── logo.svg
│ ├── package.json
│ ├── src
│ │ ├── api
│ │ │ └── index.ts
│ │ ├── config
│ │ │ └── index.ts
│ │ ├── index.ts
│ │ └── loaders
│ │ │ ├── database.ts
│ │ │ ├── express.ts
│ │ │ ├── index.ts
│ │ │ └── logger.ts
│ └── tsconfig.json
│ ├── server-js
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ │ ├── ISSUE_TEMPLATE.md
│ │ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ │ ├── cover.png
│ │ └── logo.svg
│ ├── package.json
│ └── src
│ │ └── index.js
│ └── server-ts
│ ├── .env.example
│ ├── .eslintignore
│ ├── .eslintrc
│ ├── .github
│ ├── ISSUE_TEMPLATE.md
│ └── PULL_REQUEST_TEMPLATE.md
│ ├── .gitignore
│ ├── .prettierrc.json
│ ├── Contributing.md
│ ├── README.md
│ ├── docs
│ └── logo.svg
│ ├── package.json
│ ├── src
│ └── index.ts
│ └── tsconfig.json
├── tsconfig.json
└── yarn.lock
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | *.logs
4 | build
5 | node_modules
--------------------------------------------------------------------------------
/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/docs/cover.png
--------------------------------------------------------------------------------
/docs/srmkzilla_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/docs/srmkzilla_logo.png
--------------------------------------------------------------------------------
/src/cli/index.ts:
--------------------------------------------------------------------------------
1 | import generator from "./generator";
2 | import greet, { showVersion } from "./greet";
3 | import main from "./main";
4 |
5 | export { greet, main, generator, showVersion };
6 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | import { greet, main, showVersion } from "./cli";
3 |
4 | function runner() {
5 | const args = process.argv;
6 |
7 | if (args.includes("-v") || args.includes("--version")) {
8 | return showVersion();
9 | }
10 |
11 | greet();
12 | main();
13 | }
14 |
15 | runner();
16 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-js/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-js/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-bootstrap-js/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-js/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-bootstrap-js/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-js/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-bootstrap-js/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-js/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-bootstrap-js/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-js/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-js/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-js/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
4 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-js/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-js/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-bootstrap-ts/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-bootstrap-ts/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-bootstrap-ts/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-bootstrap-ts/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import ReactDOM from "react-dom";
3 | import "./index.scss";
4 | import App from "./App";
5 | import reportWebVitals from "./reportWebVitals";
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById("root")
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from "web-vitals";
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import("web-vitals").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/client-bootstrap-ts/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import "@testing-library/jest-dom";
6 |
--------------------------------------------------------------------------------
/src/templates/client-css-js/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/client-css-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/client-css-js/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-css-js/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/client-css-js/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-css-js/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/client-css-js/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-css-js/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/client-css-js/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-css-js/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/client-css-js/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/client-css-js/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/client-css-js/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/client-css-js/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/client-css-js/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/client-css-ts/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/client-css-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/client-css-ts/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-css-ts/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/client-css-ts/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-css-ts/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/client-css-ts/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-css-ts/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/client-css-ts/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-css-ts/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/client-css-ts/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/client-css-ts/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/client-css-ts/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/client-css-ts/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/client-css-ts/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/client-css-ts/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/client-scss-js/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/client-scss-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/client-scss-js/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-scss-js/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/client-scss-js/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-scss-js/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/client-scss-js/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-scss-js/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/client-scss-js/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-scss-js/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/client-scss-js/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/client-scss-js/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/client-scss-js/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/client-scss-js/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/client-scss-js/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-scss-ts/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-scss-ts/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-scss-ts/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-scss-ts/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/client-scss-ts/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-js/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-js/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-styled-components-js/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/client-styled-components-js/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-styled-components-js/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/client-styled-components-js/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-styled-components-js/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/client-styled-components-js/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-styled-components-js/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/client-styled-components-js/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-js/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-js/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-js/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-js/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-styled-components-ts/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-styled-components-ts/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-styled-components-ts/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-styled-components-ts/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/client-styled-components-ts/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-tailwind-js/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-tailwind-js/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-tailwind-js/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-tailwind-js/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/src/tailwind.style.scss:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | body {
6 | margin: 0;
7 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
8 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
9 | sans-serif;
10 | -webkit-font-smoothing: antialiased;
11 | -moz-osx-font-smoothing: grayscale;
12 | }
13 |
14 | code {
15 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
16 | monospace;
17 | }
18 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-js/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | future: {},
3 | purge: [],
4 | darkMode: false,
5 | theme: {
6 | extend: {},
7 | },
8 | variants: {},
9 | plugins: [],
10 | };
11 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-tailwind-ts/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-tailwind-ts/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-tailwind-ts/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/client-tailwind-ts/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/src/tailwind.style.scss:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | body {
6 | margin: 0;
7 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
8 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
9 | sans-serif;
10 | -webkit-font-smoothing: antialiased;
11 | -moz-osx-font-smoothing: grayscale;
12 | }
13 |
14 | code {
15 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
16 | monospace;
17 | }
18 |
--------------------------------------------------------------------------------
/src/templates/client-tailwind-ts/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | future: {},
3 | purge: [],
4 | darkMode: false,
5 | theme: {
6 | extend: {},
7 | },
8 | variants: {},
9 | plugins: [],
10 | };
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | node_modules
5 | npm-debug.log*
6 | yarn-debug.log*
7 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/client/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-express-js/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-express-js/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-express-js/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/client/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
4 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/client/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/client/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/src/api/index.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 |
3 | module.exports = () => {
4 | const app = express.Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/src/loaders/database.js:
--------------------------------------------------------------------------------
1 | const { MongoClient } = require('mongodb');
2 | const config = require('../config');
3 |
4 | let db;
5 |
6 | async function initializeClient() {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | module.exports = async () => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-js/src/loaders/index.js:
--------------------------------------------------------------------------------
1 | const config = require('../config');
2 | const database = require('./database');
3 | const express = require('./express');
4 | const Logger = require('./Logger');
5 |
6 | module.exports = async ({ expressApp }) => {
7 | await database();
8 | Logger.info(`✌️ Connection to database successful`);
9 |
10 | await express({ app: expressApp });
11 | Logger.info('✌️ Express loaded');
12 |
13 | Logger.info('✅ All modules loaded!');
14 | };
15 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-express-ts/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-express-ts/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-express-ts/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/client/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/client/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/client/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/src/api/index.ts:
--------------------------------------------------------------------------------
1 | import { Router } from 'express';
2 |
3 | export default (): Router => {
4 | const app = Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/src/loaders/database.ts:
--------------------------------------------------------------------------------
1 | import { Db, MongoClient } from 'mongodb';
2 | import config from '../config';
3 |
4 | let db: Db;
5 |
6 | async function initializeClient(): Promise {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | export default async (): Promise => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/src/loaders/index.ts:
--------------------------------------------------------------------------------
1 | import database from './database';
2 | import express from './express';
3 | import Logger from './logger';
4 | import Express from 'express';
5 |
6 | export default async ({ expressApp }: { expressApp: Express.Application }): Promise => {
7 | await database();
8 | Logger.info(`✌️ Connection to database successful`);
9 |
10 | await express({ app: expressApp });
11 | Logger.info('✌️ Express loaded');
12 |
13 | Logger.info('✅ All modules loaded!');
14 | };
15 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-express-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/client/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-server-js/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-server-js/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-server-js/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/client/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/client/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
4 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/client/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/client/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-server-js/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-js",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node src/index.js",
8 | "lint": "eslint . --ext .js",
9 | "dev": "nodemon",
10 | "springboard": "cd client && {PKG_MGR} install"
11 | },
12 | "devDependencies": {
13 | "eslint": "^7.12.1"
14 | },
15 | "dependencies": {
16 | "nodemon": "^2.0.6"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-server-js/src/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-server-js/src/index.js
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-ts/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-ts/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-ts/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/client/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/client/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/client/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/client/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-ts",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node build/index.js",
8 | "lint": "eslint . --ext .ts",
9 | "build": "tsc",
10 | "dev": "tsc-watch --onSuccess 'node ./build/index.js'",
11 | "springboard": "cd client && {PKG_MGR} install"
12 | },
13 | "devDependencies": {
14 | "eslint": "^7.12.1"
15 | },
16 | "dependencies": {
17 | "tsc-watch": "^4.2.9",
18 | "typescript": "^4.0.5"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-bootstrap-ts/src/index.ts
--------------------------------------------------------------------------------
/src/templates/full-stack-bootstrap-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | node_modules
5 | npm-debug.log*
6 | yarn-debug.log*
7 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/client/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-express-js/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-express-js/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-express-js/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/client/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/client/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/client/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/client/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/src/api/index.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 |
3 | module.exports = () => {
4 | const app = express.Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/src/loaders/database.js:
--------------------------------------------------------------------------------
1 | const { MongoClient } = require('mongodb');
2 | const config = require('../config');
3 |
4 | let db;
5 |
6 | async function initializeClient() {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | module.exports = async () => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-js/src/loaders/index.js:
--------------------------------------------------------------------------------
1 | const config = require('../config');
2 | const database = require('./database');
3 | const express = require('./express');
4 | const Logger = require('./Logger');
5 |
6 | module.exports = async ({ expressApp }) => {
7 | await database();
8 | Logger.info(`✌️ Connection to database successful`);
9 |
10 | await express({ app: expressApp });
11 | Logger.info('✌️ Express loaded');
12 |
13 | Logger.info('✅ All modules loaded!');
14 | };
15 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-express-ts/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-express-ts/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-express-ts/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/client/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',
4 | 'Droid Sans', 'Helvetica Neue', sans-serif;
5 | -webkit-font-smoothing: antialiased;
6 | -moz-osx-font-smoothing: grayscale;
7 | }
8 |
9 | code {
10 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
11 | }
12 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/client/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/client/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/client/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/client/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/src/api/index.ts:
--------------------------------------------------------------------------------
1 | import { Router } from 'express';
2 |
3 | export default (): Router => {
4 | const app = Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/src/loaders/database.ts:
--------------------------------------------------------------------------------
1 | import { Db, MongoClient } from 'mongodb';
2 | import config from '../config';
3 |
4 | let db: Db;
5 |
6 | async function initializeClient(): Promise {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | export default async (): Promise => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/src/loaders/index.ts:
--------------------------------------------------------------------------------
1 | import database from './database';
2 | import express from './express';
3 | import Logger from './logger';
4 | import Express from 'express';
5 |
6 | export default async ({ expressApp }: { expressApp: Express.Application }): Promise => {
7 | await database();
8 | Logger.info(`✌️ Connection to database successful`);
9 |
10 | await express({ app: expressApp });
11 | Logger.info('✌️ Express loaded');
12 |
13 | Logger.info('✅ All modules loaded!');
14 | };
15 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-express-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/client/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-server-js/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-server-js/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-server-js/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/client/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/client/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/client/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/client/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-server-js/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-js",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node src/index.js",
8 | "lint": "eslint . --ext .js",
9 | "dev": "nodemon",
10 | "springboard": "cd client && {PKG_MGR} install"
11 | },
12 | "devDependencies": {
13 | "eslint": "^7.12.1"
14 | },
15 | "dependencies": {
16 | "nodemon": "^2.0.6"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-server-js/src/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-server-js/src/index.js
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-ts/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-ts/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-ts/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/client/src/index.css:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',
4 | 'Droid Sans', 'Helvetica Neue', sans-serif;
5 | -webkit-font-smoothing: antialiased;
6 | -moz-osx-font-smoothing: grayscale;
7 | }
8 |
9 | code {
10 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace;
11 | }
12 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/client/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/client/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/client/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/client/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-ts",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node build/index.js",
8 | "lint": "eslint . --ext .ts",
9 | "build": "tsc",
10 | "dev": "tsc-watch --onSuccess 'node ./build/index.js'",
11 | "springboard": "cd client && {PKG_MGR} install"
12 | },
13 | "devDependencies": {
14 | "eslint": "^7.12.1"
15 | },
16 | "dependencies": {
17 | "tsc-watch": "^4.2.9",
18 | "typescript": "^4.0.5"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-css-ts/src/index.ts
--------------------------------------------------------------------------------
/src/templates/full-stack-css-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | node_modules
5 | npm-debug.log*
6 | yarn-debug.log*
7 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/client/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-express-js/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-express-js/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-express-js/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/client/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/client/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/client/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/client/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/src/api/index.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 |
3 | module.exports = () => {
4 | const app = express.Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/src/loaders/database.js:
--------------------------------------------------------------------------------
1 | const { MongoClient } = require('mongodb');
2 | const config = require('../config');
3 |
4 | let db;
5 |
6 | async function initializeClient() {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | module.exports = async () => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-js/src/loaders/index.js:
--------------------------------------------------------------------------------
1 | const config = require('../config');
2 | const database = require('./database');
3 | const express = require('./express');
4 | const Logger = require('./Logger');
5 |
6 | module.exports = async ({ expressApp }) => {
7 | await database();
8 | Logger.info(`✌️ Connection to database successful`);
9 |
10 | await express({ app: expressApp });
11 | Logger.info('✌️ Express loaded');
12 |
13 | Logger.info('✅ All modules loaded!');
14 | };
15 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-express-ts/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-express-ts/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-express-ts/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/client/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/client/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/client/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/client/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/src/api/index.ts:
--------------------------------------------------------------------------------
1 | import { Router } from 'express';
2 |
3 | export default (): Router => {
4 | const app = Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/src/loaders/database.ts:
--------------------------------------------------------------------------------
1 | import { Db, MongoClient } from 'mongodb';
2 | import config from '../config';
3 |
4 | let db: Db;
5 |
6 | async function initializeClient(): Promise {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | export default async (): Promise => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/src/loaders/index.ts:
--------------------------------------------------------------------------------
1 | import database from './database';
2 | import express from './express';
3 | import Logger from './logger';
4 | import Express from 'express';
5 |
6 | export default async ({ expressApp }: { expressApp: Express.Application }): Promise => {
7 | await database();
8 | Logger.info(`✌️ Connection to database successful`);
9 |
10 | await express({ app: expressApp });
11 | Logger.info('✌️ Express loaded');
12 |
13 | Logger.info('✅ All modules loaded!');
14 | };
15 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-express-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/client/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-server-js/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-server-js/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-server-js/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/client/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/client/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/client/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/client/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-server-js/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-js",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node src/index.js",
8 | "lint": "eslint . --ext .js",
9 | "dev": "nodemon",
10 | "springboard": "cd client && {PKG_MGR} install"
11 | },
12 | "devDependencies": {
13 | "eslint": "^7.12.1"
14 | },
15 | "dependencies": {
16 | "nodemon": "^2.0.6"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-server-js/src/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-server-js/src/index.js
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-ts/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-ts/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-ts/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/client/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/client/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/client/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/client/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-ts",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node build/index.js",
8 | "lint": "eslint . --ext .ts",
9 | "build": "tsc",
10 | "dev": "tsc-watch --onSuccess 'node ./build/index.js'",
11 | "springboard": "cd client && {PKG_MGR} install"
12 | },
13 | "devDependencies": {
14 | "eslint": "^7.12.1"
15 | },
16 | "dependencies": {
17 | "tsc-watch": "^4.2.9",
18 | "typescript": "^4.0.5"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-scss-ts/src/index.ts
--------------------------------------------------------------------------------
/src/templates/full-stack-scss-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | node_modules
5 | npm-debug.log*
6 | yarn-debug.log*
7 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/client/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-express-js/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-express-js/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-express-js/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/client/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/client/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/client/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/src/api/index.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 |
3 | module.exports = () => {
4 | const app = express.Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/src/loaders/database.js:
--------------------------------------------------------------------------------
1 | const { MongoClient } = require('mongodb');
2 | const config = require('../config');
3 |
4 | let db;
5 |
6 | async function initializeClient() {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | module.exports = async () => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-js/src/loaders/index.js:
--------------------------------------------------------------------------------
1 | const config = require('../config');
2 | const database = require('./database');
3 | const express = require('./express');
4 | const Logger = require('./Logger');
5 |
6 | module.exports = async ({ expressApp }) => {
7 | await database();
8 | Logger.info(`✌️ Connection to database successful`);
9 |
10 | await express({ app: expressApp });
11 | Logger.info('✌️ Express loaded');
12 |
13 | Logger.info('✅ All modules loaded!');
14 | };
15 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-express-ts/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-express-ts/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-express-ts/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/client/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/client/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/client/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/src/api/index.ts:
--------------------------------------------------------------------------------
1 | import { Router } from 'express';
2 |
3 | export default (): Router => {
4 | const app = Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/src/loaders/database.ts:
--------------------------------------------------------------------------------
1 | import { Db, MongoClient } from 'mongodb';
2 | import config from '../config';
3 |
4 | let db: Db;
5 |
6 | async function initializeClient(): Promise {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | export default async (): Promise => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/src/loaders/index.ts:
--------------------------------------------------------------------------------
1 | import database from './database';
2 | import express from './express';
3 | import Logger from './logger';
4 | import Express from 'express';
5 |
6 | export default async ({ expressApp }: { expressApp: Express.Application }): Promise => {
7 | await database();
8 | Logger.info(`✌️ Connection to database successful`);
9 |
10 | await express({ app: expressApp });
11 | Logger.info('✌️ Express loaded');
12 |
13 | Logger.info('✅ All modules loaded!');
14 | };
15 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-express-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/client/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-server-js/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-server-js/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-server-js/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/client/src/index.scss:
--------------------------------------------------------------------------------
1 | body {
2 | margin: 0;
3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
5 | sans-serif;
6 | -webkit-font-smoothing: antialiased;
7 | -moz-osx-font-smoothing: grayscale;
8 | }
9 |
10 | code {
11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
12 | monospace;
13 | }
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/client/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/client/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-server-js/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-js",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node src/index.js",
8 | "lint": "eslint . --ext .js",
9 | "dev": "nodemon",
10 | "springboard": "cd client && {PKG_MGR} install"
11 | },
12 | "devDependencies": {
13 | "eslint": "^7.12.1"
14 | },
15 | "dependencies": {
16 | "nodemon": "^2.0.6"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-server-js/src/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-server-js/src/index.js
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-ts/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-ts/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-ts/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/client/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/client/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/client/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-ts",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node build/index.js",
8 | "lint": "eslint . --ext .ts",
9 | "build": "tsc",
10 | "dev": "tsc-watch --onSuccess 'node ./build/index.js'",
11 | "springboard": "cd client && {PKG_MGR} install"
12 | },
13 | "devDependencies": {
14 | "eslint": "^7.12.1"
15 | },
16 | "dependencies": {
17 | "tsc-watch": "^4.2.9",
18 | "typescript": "^4.0.5"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-styled-components-ts/src/index.ts
--------------------------------------------------------------------------------
/src/templates/full-stack-styled-components-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | node_modules
5 | npm-debug.log*
6 | yarn-debug.log*
7 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/client/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-express-js/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-express-js/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-express-js/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/client/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/client/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/client/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/client/src/tailwind.style.scss:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | body {
6 | margin: 0;
7 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
8 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
9 | sans-serif;
10 | -webkit-font-smoothing: antialiased;
11 | -moz-osx-font-smoothing: grayscale;
12 | }
13 |
14 | code {
15 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
16 | monospace;
17 | }
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/client/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | future: {},
3 | purge: [],
4 | darkMode: false,
5 | theme: {
6 | extend: {},
7 | },
8 | variants: {},
9 | plugins: [],
10 | };
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/src/api/index.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 |
3 | module.exports = () => {
4 | const app = express.Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/src/loaders/database.js:
--------------------------------------------------------------------------------
1 | const { MongoClient } = require('mongodb');
2 | const config = require('../config');
3 |
4 | let db;
5 |
6 | async function initializeClient() {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | module.exports = async () => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-express-js/src/loaders/index.js:
--------------------------------------------------------------------------------
1 | const config = require('../config');
2 | const database = require('./database');
3 | const express = require('./express');
4 | const Logger = require('./Logger');
5 |
6 | module.exports = async ({ expressApp }) => {
7 | await database();
8 | Logger.info(`✌️ Connection to database successful`);
9 |
10 | await express({ app: expressApp });
11 | Logger.info('✌️ Express loaded');
12 |
13 | Logger.info('✅ All modules loaded!');
14 | };
15 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/client/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-server-js/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-server-js/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-server-js/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/client/src/index.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/client/src/reportWebVitals.js:
--------------------------------------------------------------------------------
1 | const reportWebVitals = onPerfEntry => {
2 | if (onPerfEntry && onPerfEntry instanceof Function) {
3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
4 | getCLS(onPerfEntry);
5 | getFID(onPerfEntry);
6 | getFCP(onPerfEntry);
7 | getLCP(onPerfEntry);
8 | getTTFB(onPerfEntry);
9 | });
10 | }
11 | };
12 |
13 | export default reportWebVitals;
14 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/client/src/setupTests.js:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/client/src/tailwind.style.scss:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | body {
6 | margin: 0;
7 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
8 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
9 | sans-serif;
10 | -webkit-font-smoothing: antialiased;
11 | -moz-osx-font-smoothing: grayscale;
12 | }
13 |
14 | code {
15 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
16 | monospace;
17 | }
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/client/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | future: {},
3 | purge: [],
4 | darkMode: false,
5 | theme: {
6 | extend: {},
7 | },
8 | variants: {},
9 | plugins: [],
10 | };
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-server-js/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-js",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node src/index.js",
8 | "lint": "eslint . --ext .js",
9 | "dev": "nodemon",
10 | "springboard": "cd client && {PKG_MGR} install"
11 | },
12 | "devDependencies": {
13 | "eslint": "^7.12.1"
14 | },
15 | "dependencies": {
16 | "nodemon": "^2.0.6"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-server-js/src/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-server-js/src/index.js
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-ts/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-ts/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-ts/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/client/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root'),
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/client/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/client/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/client/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/client/src/tailwind.style.scss:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | body {
6 | margin: 0;
7 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
8 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
9 | sans-serif;
10 | -webkit-font-smoothing: antialiased;
11 | -moz-osx-font-smoothing: grayscale;
12 | }
13 |
14 | code {
15 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
16 | monospace;
17 | }
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/client/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | future: {},
3 | purge: [],
4 | darkMode: false,
5 | theme: {
6 | extend: {},
7 | },
8 | variants: {},
9 | plugins: [],
10 | };
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-ts",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node build/index.js",
8 | "lint": "eslint . --ext .ts",
9 | "build": "tsc",
10 | "dev": "tsc-watch --onSuccess 'node ./build/index.js'",
11 | "springboard": "cd client && {PKG_MGR} install"
12 | },
13 | "devDependencies": {
14 | "eslint": "^7.12.1"
15 | },
16 | "dependencies": {
17 | "tsc-watch": "^4.2.9",
18 | "typescript": "^4.0.5"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-ts/src/index.ts
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
25 | src/index.scss
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-tsx-express-ts/client/public/favicon.ico
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-tsx-express-ts/client/public/logo192.png
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/full-stack-tailwind-tsx-express-ts/client/public/logo512.png
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/client/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/client/src/reportWebVitals.ts:
--------------------------------------------------------------------------------
1 | import { ReportHandler } from 'web-vitals';
2 |
3 | const reportWebVitals: () => void = (onPerfEntry?: ReportHandler) => {
4 | if (onPerfEntry && onPerfEntry instanceof Function) {
5 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
6 | getCLS(onPerfEntry);
7 | getFID(onPerfEntry);
8 | getFCP(onPerfEntry);
9 | getLCP(onPerfEntry);
10 | getTTFB(onPerfEntry);
11 | });
12 | }
13 | };
14 |
15 | export default reportWebVitals;
16 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/client/src/setupTests.ts:
--------------------------------------------------------------------------------
1 | // jest-dom adds custom jest matchers for asserting on DOM nodes.
2 | // allows you to do things like:
3 | // expect(element).toHaveTextContent(/react/i)
4 | // learn more: https://github.com/testing-library/jest-dom
5 | import '@testing-library/jest-dom';
6 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/client/src/tailwind.style.scss:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | body {
6 | margin: 0;
7 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
8 | "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
9 | sans-serif;
10 | -webkit-font-smoothing: antialiased;
11 | -moz-osx-font-smoothing: grayscale;
12 | }
13 |
14 | code {
15 | font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New",
16 | monospace;
17 | }
18 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/client/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | future: {},
3 | purge: [],
4 | darkMode: false,
5 | theme: {
6 | extend: {},
7 | },
8 | variants: {},
9 | plugins: [],
10 | };
11 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/src/api/index.ts:
--------------------------------------------------------------------------------
1 | import { Router } from 'express';
2 |
3 | export default (): Router => {
4 | const app = Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/src/loaders/database.ts:
--------------------------------------------------------------------------------
1 | import { Db, MongoClient } from 'mongodb';
2 | import config from '../config';
3 |
4 | let db: Db;
5 |
6 | async function initializeClient(): Promise {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | export default async (): Promise => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/src/loaders/index.ts:
--------------------------------------------------------------------------------
1 | import config from '../config';
2 | import database from './database';
3 | import express from './express';
4 | import Logger from './logger';
5 | import Express from 'express';
6 |
7 | export default async ({ expressApp }: { expressApp: Express.Application }): Promise => {
8 | await database();
9 | Logger.info(`✌️ Connection to database successful`);
10 |
11 | await express({ app: expressApp });
12 | Logger.info('✌️ Express loaded');
13 |
14 | Logger.info('✅ All modules loaded!');
15 | };
16 |
--------------------------------------------------------------------------------
/src/templates/full-stack-tailwind-tsx-express-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/server-express-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/server-express-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/server-express-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/server-express-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | node_modules
5 | npm-debug.log*
6 | yarn-debug.log*
7 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/server-express-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/server-express-js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-express-js",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node src/index.js",
8 | "lint": "eslint . --ext .js",
9 | "dev": "nodemon"
10 | },
11 | "devDependencies": {
12 | "eslint": "^7.12.1"
13 | },
14 | "dependencies": {
15 | "cors": "^2.8.5",
16 | "dotenv": "^8.2.0",
17 | "express": "^4.17.1",
18 | "helmet": "^4.1.1",
19 | "mongodb": "^3.6.2",
20 | "nodemon": "^2.0.6",
21 | "winston": "^3.3.3"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/templates/server-express-js/src/api/index.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 |
3 | module.exports = () => {
4 | const app = express.Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/server-express-js/src/loaders/database.js:
--------------------------------------------------------------------------------
1 | const { MongoClient } = require('mongodb');
2 | const config = require('../config');
3 |
4 | let db;
5 |
6 | async function initializeClient() {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | module.exports = async () => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/server-express-js/src/loaders/index.js:
--------------------------------------------------------------------------------
1 | const config = require('../config');
2 | const database = require('./database');
3 | const express = require('./express');
4 | const Logger = require('./Logger');
5 |
6 | module.exports = async ({ expressApp }) => {
7 | await database();
8 | Logger.info(`✌️ Connection to database successful`);
9 |
10 | await express({ app: expressApp });
11 | Logger.info('✌️ Express loaded');
12 |
13 | Logger.info('✅ All modules loaded!');
14 | };
15 |
--------------------------------------------------------------------------------
/src/templates/server-express-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/server-express-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/server-express-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/server-express-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/server-express-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/server-express-ts/src/api/index.ts:
--------------------------------------------------------------------------------
1 | import { Router } from 'express';
2 |
3 | export default (): Router => {
4 | const app = Router();
5 |
6 | //TODO: add routes here...
7 |
8 | return app;
9 | };
10 |
--------------------------------------------------------------------------------
/src/templates/server-express-ts/src/loaders/database.ts:
--------------------------------------------------------------------------------
1 | import { Db, MongoClient } from 'mongodb';
2 | import config from '../config';
3 |
4 | let db: Db;
5 |
6 | async function initializeClient(): Promise {
7 | const client = await MongoClient.connect(config.databaseURL, {
8 | useNewUrlParser: true,
9 | useUnifiedTopology: true,
10 | ignoreUndefined: true,
11 | });
12 |
13 | return client.db();
14 | }
15 |
16 | export default async (): Promise => {
17 | if (!db) {
18 | db = await initializeClient();
19 | }
20 |
21 | return db;
22 | };
23 |
--------------------------------------------------------------------------------
/src/templates/server-express-ts/src/loaders/index.ts:
--------------------------------------------------------------------------------
1 | import config from '../config';
2 | import database from './database';
3 | import express from './express';
4 | import Logger from './logger';
5 | import Express from 'express';
6 |
7 | export default async ({ expressApp }: { expressApp: Express.Application }): Promise => {
8 | await database();
9 | Logger.info(`✌️ Connection to database successful`);
10 |
11 | await express({ app: expressApp });
12 | Logger.info('✌️ Express loaded');
13 |
14 | Logger.info('✅ All modules loaded!');
15 | };
16 |
--------------------------------------------------------------------------------
/src/templates/server-express-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/server-js/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/server-js/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/server-js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/server-js/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/server-js/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/server-js/docs/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/server-js/docs/cover.png
--------------------------------------------------------------------------------
/src/templates/server-js/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-js",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node src/index.js",
8 | "lint": "eslint . --ext .js",
9 | "dev": "nodemon"
10 | },
11 | "devDependencies": {
12 | "eslint": "^7.12.1"
13 | },
14 | "dependencies": {
15 | "nodemon": "^2.0.6"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/templates/server-js/src/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/server-js/src/index.js
--------------------------------------------------------------------------------
/src/templates/server-ts/.env.example:
--------------------------------------------------------------------------------
1 | JWT_SECRET ='m@c-@nd-c#eese'
2 | MONGODB_URI='mongodb://localhost/springboard'
3 | PORT=3000
4 | LOG_LEVEL='debug'
--------------------------------------------------------------------------------
/src/templates/server-ts/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/src/templates/server-ts/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "parser": "@typescript-eslint/parser",
4 | "plugins": ["@typescript-eslint"],
5 | "extends": [
6 | "eslint:recommended",
7 | "plugin:@typescript-eslint/eslint-recommended",
8 | "plugin:@typescript-eslint/recommended"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/src/templates/server-ts/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .env
3 | !.env.example
4 | build
5 | node_modules
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
--------------------------------------------------------------------------------
/src/templates/server-ts/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "semi": true,
3 | "trailingComma": "all",
4 | "singleQuote": true,
5 | "printWidth": 120,
6 | "tabWidth": 2,
7 | "arrowParens": "avoid"
8 | }
9 |
--------------------------------------------------------------------------------
/src/templates/server-ts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server-ts",
3 | "version": "0.1.0",
4 | "main": "src/index.js",
5 | "license": "MIT",
6 | "scripts": {
7 | "start": "node build/index.js",
8 | "lint": "eslint . --ext .ts",
9 | "build": "tsc",
10 | "dev": "tsc-watch --onSuccess 'node ./build/index.js'"
11 | },
12 | "devDependencies": {
13 | "eslint": "^7.12.1"
14 | },
15 | "dependencies": {
16 | "tsc-watch": "^4.2.9",
17 | "typescript": "^4.0.5"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/src/templates/server-ts/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/srm-kzilla/springboard/50ca0fdeb4d700d7c26f11e5b0d6e8edc5fe99ca/src/templates/server-ts/src/index.ts
--------------------------------------------------------------------------------
/src/templates/server-ts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2017",
4 | "allowSyntheticDefaultImports": true,
5 | "experimentalDecorators": true,
6 | "emitDecoratorMetadata": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "moduleResolution": "node",
9 | "module": "commonjs",
10 | "pretty": true,
11 | "sourceMap": true,
12 | "outDir": "./build",
13 | "allowJs": true,
14 | "noEmit": false,
15 | "esModuleInterop": true
16 | },
17 | "include": ["./src/**/*"],
18 | "exclude": ["node_modules", "tests"]
19 | }
20 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "declaration": true,
6 | "outDir": "./build",
7 | "removeComments": true,
8 | "strict": true,
9 | "esModuleInterop": true,
10 | "skipLibCheck": true,
11 | "forceConsistentCasingInFileNames": true,
12 | "allowJs": true,
13 | "resolveJsonModule": true
14 | },
15 | "exclude": ["./src/templates/**/*"],
16 | "include": ["./src/**/*"]
17 | }
18 |
--------------------------------------------------------------------------------