π WeAreOpenSource Vue 3 - Beta
This project is a Vue 3 stack that can be ran as a standalone FrontEnd. Or in a fullstack with another repo of your choice (ex: Node, Swift).
Quick links :
- Mindset and what we would like to create
- How to start a project and maintain updates from stacks
- Global roadmap and ideas about stacks
- How to contribute and help us
Our stack Vue is actually in Beta.
β‘ Now powered by Vite! This project has been migrated from Vue CLI to Vite for faster development and better performance.
- Knowledges JS
- Demo (working with Node stack, email: test@waos.me, password: TestWaos@2019)
| Subject | Informations |
|---|---|
| Available | |
| Architecture | Layered Architecture : everything is separated in layers, and the upper layers are abstractions of the lower ones, that's why every layer should only reference the immediate lower layer (vertical modules architecture) |
| Security | JWT Stateless - have a look on Node stack for more informations |
| CI | Github Action |
| Linter | ESLint ecmaVersion 10 (2019) |
| Developer | Coveralls - Code Climate - Dependency status - Dependabot - Snyk semantic-release - commitlint - commitizen - @weareopensource/conventional-changelog |
| Dependencies | npm |
| Deliver | Docker & Docker-compose |
| Being released | |
| Testing | Jest WIP |
| In reflexion | |
| WIP | wip |
- User : classic register / auth
- Tasks : list - add - edit - delete
- Mails Subscriptions : add
Make sure you have installed all of the following prerequisites on your development machine:
- Git - Download & Install Git
- Node.js (22.x or 24.x) - Download & Install Node.js
- Recommended: Use nvm for Node version management
Simple and straightforward:
git clone https://github.com/weareopensource/vue.git && cd Vue
npm installNote: No need for global CLI tools - everything runs through Vite!
npm start
# or
npm run devRuns dev server with hot-reload at http://localhost:8080/
CORS Note: When connecting to the Node stack, ensure CORS is configured:
WAOS_NODE_cors_origin=['http://localhost:8080'] npm startnpm run build # Build for production
npm run preview # Preview production build locallynpm test # Run tests in watch mode
npm run test:unit # Run unit tests
npm run test:coverage # Generate coverage reportTest Structure: Tests are organized per module in src/modules/*/tests/
npm run lint # Check code quality
npm run lint:fix # Auto-fix linting issues
npm run format # Format code with Prettiernpm run commit # Commit with commitizen
npm run release -- --first-release # First release
npm run release -- --release-as 1.1.1 # Release specific version
GITHUB_TOKEN=xxx npm run release:auto # Semantic release (CI)npm run generateConfig # Generate config from environment
npm run check:migration # Check Vite migration statusnpm run vite:dev # Vite dev (bypasses config generation)
npm run vite:build # Vite build (bypasses config generation)
npm run vite:preview # Vite preview (bypasses config generation)docker run --rm -p 8080:80 weareopensource/vue
if you want to build yourself : docker build -t weareopensource/vue . --build-arg WAOS_VUE_api_port=4000
docker-compose (example with Node stack as api)
docker-compose up
The default configuration is : src/config/defaults/development.js
The other configurations : src/config/defaults/*.js overwrite the default configuration, you can create your own.
We take into account all system environment variables defined under the form WAOSVUE<path_toVariable>. A pre-build npm script turns under the hood those system environment variables into an object, infering paths from the varialbles name, merged to the configuration defined on src/config/defaults to regenerate the file used src/config/index.js.
So configuration avalable on src/config/defaults/development file are overidable. You can for instance define the app name by defining those system environment variables :
WAOS_VUE_app_title='my app =)'
βοΈ Contribute
This work is based on MEAN.js and more precisely on a fork of the developers named Riess.js. The work being stopped we wished to take it back, we want to create updated stack with same mindset "simple", "easy to use". The toolbox needed to start projects, but not only with Node and Angular ...
We dreams to create stacks Backs / Fronts, aligns on feats & Architecture, in multiple languages. This to allow anyone to create fullstack on demand (VueJS, Node, Swift β¦) and keep updates. While exploring resilient and scalable deployment, as well as growth hacking via our articles.
Feel free to help us ! :)