-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Scientia edited this page Mar 28, 2022
·
25 revisions
Welcome to the wiki-reader wiki!
This project is a web app that serves article content on MediaWiki-based wikis to clients via MediaWiki's Action API. Main codebase is written in vanilla JavaScript.
The solution is modeled after MEAN:
- Nuxt.js (v2) as the web framework
- Vue.js as the frontend framework
- TailwindCSS as the CSS framework
- Node.js as the server runtime environment
- MongoDB Atlas as the database management system
-
.nuxt
- main codebase, contains business logic for handling client interactions; auto-generated from `nuxt dev` or `nuxt build` -
components
- Vue.js components -
dist
- distribution directory for production ready HTML, assets, and scripts -
node_modules
- dependencies -
pages
- views and routes for web pages -
static
- static assets for web pages -
store
- Vuex Store files to manage app state -
test
- unit tests, should test each Vue component
Personally, I am developing on Windows 10 + WSL 2 (Ubuntu) using VSCode as my code editor, but you should be able to build and develop the app on native Unix platforms too. For guides on how to set up my workflow:
- What is the Windows Subsystem for Linux? by Microsoft
- VS Code Remote Development by VSCode
- Visual Studio IntelliCode - Intellisense
- Vetur - Vue Intellisense
- CSS Intellisense - Tailwind Intellisense
- EditorConfig for VS Code - standardizing workspace settings
- ESLint - code linting within VSCode
- Jest - run individual unit tests within VSCode
- Todo Tree - viewing TODOs in code
Nuxt.js apps can be deployed as static websites or hosted on web servers.
See https://nuxtjs.org/deployments/github-pages for an example of static site hosting and https://nuxtjs.org/deployments/google-appengine for an example of deploying to the cloud.
- 12factor.net - 12 tenets for a modern web app
- 7 Frontend Architecture Lessons From Nuxt.js