mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-31 18:08:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Plugin Folders and Files Architecture
 | |
| 
 | |
| The logic of a plugin is located at his root directory `./plugins/**`. The admin panel related parts of each plugin is contained in the `/admin` folder.
 | |
| The folders and files structure is the following:
 | |
| 
 | |
| ```
 | |
| /plugin
 | |
| └─── admin // Contains the plugin's front-end
 | |
| |     └─── build // Webpack build of the plugin
 | |
| |     └─── src // Source code directory
 | |
| |          └─── bootstrap.js // (Optional) Contains the logic to execute before rendering the plugin
 | |
| |          └─── components // Contains the list of React components used by the plugin
 | |
| |          └─── containers
 | |
| |          |    └─── App // Container used by every others containers
 | |
| |          |    └─── HomePage
 | |
| |          |         └─── action.js // List of Redux actions used by the current container
 | |
| |          |         └─── constants.js // List of actions constants
 | |
| |          |         └─── index.js // React component of the current container
 | |
| |          |         └─── reducer.js // Redux reducer used by the current container
 | |
| |          |         └─── sagas.js // List of sagas functions
 | |
| |          |         └─── selectors.js // List of selectors
 | |
| |          |         └─── styles.scss // Style of the current container
 | |
| |          |
 | |
| |          └─── requirements.js // (Optional) Contains the logic to prevent a plugin from being rendered
 | |
| |          └─── translations // Contains the translations to make the plugin internationalized
 | |
| |               └─── en.json
 | |
| |               └─── fr.json
 | |
| └─── config // Contains the configurations of the plugin
 | |
| |     └─── functions
 | |
| |     |    └─── bootstrap.js // Asynchronous bootstrap function that runs before the app gets started
 | |
| |     └─── policies // Folder containing the plugin's policies
 | |
| |     └─── queries // Folder containing the plugin's models queries
 | |
| |     └─── routes.json // Contains the plugin's API routes
 | |
| └─── controllers // Contains the plugin's API controllers
 | |
| └─── middlewares // Contains the plugin's middlewares
 | |
| └─── models // Contains the plugin's API models
 | |
| └─── services // Contains the plugin's API services
 | |
| ```
 | 
