World Map Tracker — это интерактивная платформа для путешественников, которая позволяет визуализировать посещенные страны и города, создавать персонализированные карты путешествий и делиться своими приключениями с ИИ.
Этот проект позволяет пользователям взаимодействовать с картой мира: кликать по странам, отмечать, где они были или хотят побывать. Каждая страна имеет два статуса: "Был" и "Хочу поехать". Страны визуализируются с использованием различных цветов, чтобы отображать статус.
- Просмотр пользователей.
- Статистика пользователя и популярности стран.
- Рандомная страна для пользователей, чтобы открыть новые страны для посещения.
Да, я посчитал Ирландию как страну! И вообще, количество стран в проекте — 249. Не удивляйтесь 😉
- Frontend: Angular
- Backend: Golang + Gin
- База данных: PostgreSQL
- Аутентификация: Cookie-сессии
- AI-помощник: Groq AI API (GET API)[https://console.groq.com/home] Очень быстрый и бесплатный
Убедитесь, что у вас установлен и запущен PostgreSQL.
Создайте базу данных:
createdb world_map_trackerИли через psql:
CREATE DATABASE world_map_tracker;(Не забудьте настроить переменные окружения для подключения к базе.)
Перейдите в папку backend:
cd backendСкачайте зависимости:
go mod tidyНастройте .env файл с переменными окружения:
Вы можете не париться у меня .env все равно открытый. Можете сразу подключиться к удаленному БД :>
GROQ_API_KEY=
HOSTdb=
PORTdb=
USERdb=
PASSWORDdb=
DBNamedb=
SSL_MODEdb=
PORTHTTP=Запустите миграции базы данных (если есть миграционный скрипт) или настройте схемы через код.
Запустите сервер:
go run main.goПерейдите в папку frontend:
cd frontendУстановите зависимости:
npm installНастройте окружение, если нужно (например, файл environment.ts):
export const environment = {
production: false,
apiUrl: 'http://localhost:1488' // адрес бекенда <---- тут исправьте {порт}
};Запустите фронтенд:
ng serveПомните что в CORS у меня указан несколько адресов **Если вы хотите перейти на другой адрес то **
AllowOrigins: []string{
"http://localhost:4200",
"https://world-map-tracker-nine.vercel.app",
"https://world-map-tracker-nine.vercel.app/",
},backend/internal/app/start/http.go <- тут
Фронтенд будет доступен на:
👉 http://localhost:4200
- Добавление социальных функций (друзья, лента путешествий)
- Интеграция с сервисами бронирования (авиабилеты, отели)
- Более детальная визуализация маршрутов и статистика по странам
- В некоторых случаях, при медленном интернет-соединении, данные о статусах стран могут загружаться с задержкой.
- В мобильной версии интерфейс карты может требовать доработок для удобства использования.
Если есть вопросы: w0ikid telegram