Skip to content

w0ikid/world-map-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🌍 World Map Tracker

World Map Tracker — это интерактивная платформа для путешественников, которая позволяет визуализировать посещенные страны и города, создавать персонализированные карты путешествий и делиться своими приключениями с ИИ.

Описание проекта

Этот проект позволяет пользователям взаимодействовать с картой мира: кликать по странам, отмечать, где они были или хотят побывать. Каждая страна имеет два статуса: "Был" и "Хочу поехать". Страны визуализируются с использованием различных цветов, чтобы отображать статус.

Особенности:

  • Просмотр пользователей.
  • Статистика пользователя и популярности стран.
  • Рандомная страна для пользователей, чтобы открыть новые страны для посещения.

Да, я посчитал Ирландию как страну! И вообще, количество стран в проекте — 249. Не удивляйтесь 😉


📌 Технологии

  • Frontend: Angular
  • Backend: Golang + Gin
  • База данных: PostgreSQL
  • Аутентификация: Cookie-сессии
  • AI-помощник: Groq AI API (GET API)[https://console.groq.com/home] Очень быстрый и бесплатный

🚀 Как запустить проект локально

1. Подготовить базу данных (PostgreSQL)

Убедитесь, что у вас установлен и запущен PostgreSQL.
Создайте базу данных:

createdb world_map_tracker

Или через psql:

CREATE DATABASE world_map_tracker;

(Не забудьте настроить переменные окружения для подключения к базе.)


2. Запуск Backend

Перейдите в папку backend:

cd backend

Скачайте зависимости:

go mod tidy

Настройте .env файл с переменными окружения:

Вы можете не париться у меня .env все равно открытый. Можете сразу подключиться к удаленному БД :>

GROQ_API_KEY=
HOSTdb=
PORTdb=
USERdb=
PASSWORDdb=
DBNamedb=
SSL_MODEdb=
PORTHTTP=

Запустите миграции базы данных (если есть миграционный скрипт) или настройте схемы через код.

Запустите сервер:

go run main.go

3. Запуск Frontend

Перейдите в папку 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