Architecture
Here we define all files and folders that are used in this project.
README.md- main readme file, it specifies the entry point to the project's documentationpackage.json- main file of the project. It defines the project's dependencies and scripts. It is also used to provide meta-data for many other toolspackage-lock.json- lock file for dependencies. It is used to install exactly the same versions of dependencies on each buildnuxt.config.ts- the main configuration file forNuxt. It contains a list of installed plugins and other configuration. It is also used to specify how to build this projecttsconfig.json- is used to specify how to deal with thetsfiles in this project. We can introduce newtsfeatures by adding new configuration.eslintrc.js- configuration file forts,js, andvuefiles lintingstylelint.config.js- configuration file forstylelint, which is used for linting styles.nvmrc- file withnodeversion specification. Make sure that you have it installed, or otherwise, the project will not work at all.editorconfig- file with format specification. You need to install the required plugin for your IDE in order to enable it.gitignore- file that specifies what should we commit into the repository and we should notdocker/- this folder containsDockerfiles and utility scripts that are used for development and quality assurancedocker-compose.yml- this the file specifiesdockerservices that are needed for development and testing.dockerignore- specifies what files should not be copied to thedockerimage.gitlab-ci.yml- GitLab CI configuration file. It basically defines what to do with your project after pushing it to the repository. Currently it is used for testing and releasing adockerimagejest.config.js- this file is used to configurejest.vscode/-vscodeIDE integration. We store different settings, plugins, and tasks inside this folder
Client
assets/- this directory contains your images, fonts, or any other files that you want to be processed bywebpackcomponents/- the components directory contains yourVuecomponents,Nuxtdoesn't supercharge these componentslayouts/- this directory contains your Application Layoutslogic/- this directory contains your Application Logics. You should put everything that is considered business logic heremiddleware/- this directory contains your Application Middleware. The middleware lets you define custom function to be run before rendering a page or a group of pages (layouts)pages/- this directory contains your application routes. We rely onNuxt's builtin routingplugins/- this directory contains your custom plugins forNuxtstatic/- the static files directory. These files are not processed by any loaders and just copied as-isstore/- this directory contains your Vuex Store filesshims/- this directory contains TypeScript declaration files, feel free to extend it with your own types
Tests
fixtures/- this folder contains utility files that are used for testing.eslintrc.js- this file extends linting rules for testingjest-shims.d.ts- file to import TypeScript types into current context
Last updated