Lama

A photo sharing and storage service

View project on GitHub

Lama

Lama — це сервіс, який призначений для зберігання, організації та редагування фотографій.

Codacy grade GitHub issues GitHub closed issues GitHub closed pull requests GitHub

Зміст

Проекти

  Назва Статус Опис  
Backend        
  Events AppVeyor Моделі подій, які виникають у сервісах  
  EventBus AppVeyor Реалізація шини для обміну повідомлень  
  APIGateway AppVeyor Фасад над сервісами у вигляді API шлюзу  
  Aggregator AppVeyor Сервіс для об’єднання даних з інших сервісів  
  LamaAPI AppVeyor Основний сервіс системи  
  PhotoAPI AppVeyor Сервіс для роботи із фотографіями  
Frontend        
  Angular AppVeyor SPA веб-клієнт  

Технології

Backend

Frontend

Запуск

Запуск сервісів

Backend

Azure Storage
  • перейдіть в папку з AzureStorageEmulator C:\Program Files\Microsoft SDKs\Azure\Storage Emulator
  • запускаємо сервіс AzureStorageEmulator.exe start
ELK
Elasticsearch
  • перейдіть в папку з Elasticsearch C:\Program Files\elasticsearch-7.3.0\bin
  • запускаємо файл elasticsearch.bat
  • АРІ:
    • http://localhost:5601/
Kibana (*optional)
  • перейдіть в папку з Elasticsearch C:\Program Files\kibana-7.5.1-windows-x86_64\bin
  • запускаємо файл kibana.bat
  • management сторінка:
    • http://localhost:5601/
RabbitMQ
  • відкрийте діалогове вікно виконання команд win + R
  • відкрийте термінал, введіть cmd
  • перейдіть в папку з RabbitMQ cd C:\Program Files\RabbitMQ Server\rabbitmq_server-***\sbin
  • запускаємо сервіс rabbitmq-service.bat start
  • management сторінка:
    • http://localhost:15672,
      • логін — guest
      • пароль — guest
LamaAPI
  • відкрийте діалогове вікно виконання команд win + R
  • відкрийте термінал, введіть cmd
  • перейдіть в папку проекту cd \src\backend\LamaAPI
  • створіть БД, виконавши команду dotnet ef database update --project API

За замовчуванням, рядок з’єднання до SQL Server буде (localdb). Якщо ви використовуєте інший псевдонім, то оновіть ConnectionStrings:LamaDatabase у файлі appsettings.json, який знаходиться в папці backend/LamaAPI/API.


  • перейдіть в папку з проектом cd \src\backend\LamaAPI
  • запустіть run.bat файл

  • відкрийте діалогове вікно виконання команд win + R
  • відкрийте термінал, введіть cmd
  • перейдіть в папку проекту cd \src\backend\LamaAPI
  • будуємо проект dotnet build
  • запускаємо сервіс dotnet run --project API
  • документація:
    • http://localhost:2700/swagger/index.html
    • https://localhost:2701/swagger/index.html
PhotoAPI
  • перейдіть в папку з проектом cd \src\backend\PhotoAPI
  • запустіть run.bat файл

  • відкрийте діалогове вікно виконання команд win + R
  • відкрийте термінал, введіть cmd
  • перейдіть в папку проекту cd \src\backend\PhotoAPI
  • будуємо проект dotnet build
  • запускаємо сервіс dotnet run --project API
  • документація:
    • http://localhost:2710/swagger/index.html
    • https://localhost:2711/swagger/index.html
  • фонові задачі:
    • http://localhost:2710/hangfire
    • https://localhost:2711/hangfire
Aggregator
  • перейдіть в папку з проектом cd \src\backend\Aggregator
  • запустіть run.bat файл

  • відкрийте діалогове вікно виконання команд win + R
  • відкрийте термінал, введіть cmd
  • перейдіть в папку проекту cd \src\backend\Aggregator
  • будуємо проект dotnet build
  • запускаємо сервіс dotnet run --project Aggregator
  • документація:
    • http://localhost:1710/swagger/index.html
    • https://localhost:1711/swagger/index.html
APIGateway
  • перейдіть в папку з проектом cd \src\backend\APIGateway
  • запустіть run.bat файл

  • відкрийте діалогове вікно виконання команд win + R
  • відкрийте термінал, введіть cmd
  • перейдіть в папку з проектом cd \src\backend\APIGateway
  • будуємо проект dotnet build
  • запускаємо сервіс dotnet run --project APIGateway
  • документація:
    • http://localhost:5000/swagger/index.html
    • https://localhost:5001/swagger/index.html

Frontend

Angular
  • перейдіть в папку з проектом cd \src\frontend\Angular
  • запустіть run.bat файл

  • відкрийте діалогове вікно виконання команд win + R
  • відкрийте термінал, введіть cmd
  • перейдіть в папку з проектом cd \src\frontend\Angular
  • встановлюємо пакети npm install
  • запускаємо сервіс ng serve
  • аплікація:
  • http://localhost:4200

Запуск за допомогою Docker

  • відкривйте Docker Terminal
  • перейдіть в папку проекту cd \src
  • будуємо проект docker-compose build
  • запускаємо сервіси docker-compose up -d

На Windows сервіси можуть бути доступні за іншою адресою. Щоб її дізнатись введіть docker-machine ip (http://192.168.99.100)