> For the complete documentation index, see [llms.txt](https://sujit-baniya.gitbook.io/fiber-boilerplate/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sujit-baniya.gitbook.io/fiber-boilerplate/project-flow.md).

# Project Flow

main.go is the entry point of the project where it accept two optional arguments

* config - This will accept the yaml file for the project (by default config.yml from the project is picked)
* migrate - This will migrate all the database changes

If you have enabled Pyroscope profiler then, application will start profiling the application as soon as the application starts. Make sure Pyroscope is running on <http://localhost:4040> (by default)

The application then start loading all the configs available on **config/config.go** and start running the application

While bootstraping the application, it loads api routes from **rest/routes** directory. It also loads middlewares from **rest/middlewares**. All required route handlers are used from **rest/controllers**
