Network data with node covariates are common in many fields. For example, in food webs, while the network describes the predator-prey interactions between species, additional covariates such as average body mass and living environment are often also available. In principle, the two sources of information can be combined for community detection. However, most existing methods either lack statistical interpretation or make strong conditional independence assumptions between the network, node covariates and community memberships. In this talk, we present a general statistical framework to describe the relationship between the link structure, node covariates, and communities. Further, we propose two families of statistical models which are the most general under this framework with the least conditional independence assumptions between the three parts. We also establish conditions for model identifiability, and develop variational EM algorithms to estimate community memberships as well as model parameters. The proposed methods have been compared with benchmark methods on simulated networks and show strong performance. We also apply the method to the food web in the Weddell Sea with species' covariates to uncover meaningful structure of this ecosystem.