Is it possible to upload avatar from front-end?

Yes, sure! Users checking on routes like that:

$routes['my-user-info'] = array(
	'pattern' => 'my-account/user-info',
	'method' => 'GET|POST',
	'action'  => function()
	{
		if(site()->user()) 
		{
			return site()->visit(page('my-account/user-info'));
		} go(urlto('login').'?redirect='.urito('my-user-info', null, false));
	}
);