Description
Project Links
Minimum Viable Product: What is what we want?
- What are the goals?
- Modern Web techniques
- TypeScript Support
- Svelte Components
- Storybook UI Testing and Presentation
- TailwindCSS Styling
- with Webpack bundeling
- Smart reload Development
- a Static Application Security Code Analyzing
- with ESLint (eslint-plugin-security)
- A Test Driven Development approche
- with Jest
- Automation (CI/CD)
- Linting / Prettier
- Testing
- Building / Packaging
- Deployment / Publishing
- a on Board Documentation for our Users
- Modern Web techniques
- Sense (Why do these goals exist?)
- Explanation #1
- Explanation #2
- Explanation #3
- Purpose (What should be done with it?)
- Use Case #1
- Use Case #2
- Use Case #3
For more examples, please refer to the Documentation
Ensure you have
and, install other global dependencies
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
and
sudo yarn global add cross-env concurrently http-server --prefix /usr/local
Get the Boilerplate
Boilerplate for new projects only, as a contributor please scroll down to: π€ Contribute π€
git clone --depth 1 --branch main https://gitlab.com/the-bootcamp-project/frameworks/native-desktop.git hello_desktop
Change directory
cd hello_desktop
Remove the old repository and create a new one
rm -rf .git && git init .
Now it's your's!
Run the following:
yarn install
to install dependencies.yarn run git:sub:merge
(starts automatic afteryarn install
) to update necessary git submodules
if you want to use npm, replace yarn ...
with npm ...
See Installation Documentation
Run the following:
yarn run dev
to start the development server
if you want to use npm, replace yarn ...
with npm ...
Run the following:
yarn run format
to prettier the source-codeyarn run lint
to start read-only linting from js, ts and svelte files.yarn run lint:svelte
to start linting for Svelte Componentsyarn run lint:fix
to start read-write linting, see above and fix warnings/errors.
if you want to use npm, replace yarn ...
with npm ...
Run the following:
yarn run test:smoke
to start a local HTTP-Server to preview the buildyarn run test:coverage
to start unit-testing and show coverage stetsyarn run test:unit
to start unit-testing
if you want to use npm, replace yarn ...
with npm ...
Run the following:
yarn run build:stats
(runs linting and fix first) to start building, create build-profile and shown bundling statesyarn run build
(runs linting and fix first) to start building
if you want to use npm, replace yarn ...
with npm ...
Then run the following:
yarn run publish
(creates./public
) copy content from./build
to./public
- GitLab Pages Example
if you want to use npm, replace yarn ...
with npm ...
- Browser / Node.js and TypeScript support by default
- Test-Diven Development and Unit-Tests by default
- Best pratice and security-first Linting and Prettier by default
- Security-first production ready configuration by default
- Automatic CI/CD Pipeline for GitLab by default
- Extensive configuration documentation
See CHANGELOG for more information.
Don't be shy! You are also welcome to open a post in the issue registar for simple questions.
- auto-versioning
- auto-changelogging
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
Please read the contribution guidelines first.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Thanks for these awesome resources that were used during the development of the Bootcamp: Modern Native Desktop Application Framework:
- RTFM.page - TypeScript
- RTFM.page - Svelte
- RTFM.page - Tailwind CSS
- RTFM.page - ESLint
- RTFM.page - Jest
- RTFM.page - WebPack
See LICENSE for more information.
Bootcamp contributors - contributors
@ bootcamp-project
.com