No to tak, osobiście polecam napisać to przy pomocy Laravela, czyli frameworka PHP. W Laravelu zrobienie działającego logowania i rejestracji wygląda tak
composer install laravel/ui
php artisan ui bootstrap --auth
Ewentualnie, zamiast bootstrap może być vue.
Do chatu wykorzystasz websockety z Laravela, bo inaczej to nie ma sensu.
A co do mapy, to nie mam bladego pojęcia.