# Project structure
By default, the structure of your Strapi project looks as shown below:
/.cache: contains files used to build your admin panel.
/admin: (optional) contains your admin customization files.
/api: contains the business logic of your project split into sub-folders per API.
/build: contains your admin panel UI build.
/functions: contains lifecycle or generic functions of the project.
server.js: contains the general configurations of the project.
database.js: contains the database configurations of the project.
/extensions: contains the files to extend installed plugins.
/hooks: contains the custom hooks of the project.
/middlewares: contains the custom middlewares of the project.
/plugins: contains your local plugins.
/public: contains the files accessible to the outside world.
/node_modules: contains the npm packages used by the project.
If your Strapi project was created with the starter CLI (opens new window), the project structure looks like this:
my-project /frontend # starter folder /backend # template folder /node_modules
backend folder has the default structure described above.