Giter Club home page Giter Club logo

java-explore-with-me's Introduction

java-explore-with-me

Для чего предназначен этот проект

Explore With Me - это приложение дает возможность делиться информацией об интересных событиях и помогает найти компанию для участия в них. Реализовано в виде двух микросервисов с отдельными БД - один для сохранения и получения статистики, второй с основной бизнес логикой.

Инструкция по развертыванию проекта:

  1. Скачать данный репозиторий
  2. mvn clean
  3. mvn package
  4. docker-compose build
  5. docker-compose up -d

Приложение включает в себя сервисы:

  • Основной сервис — содержит всё необходимое для работы продукта.
    • Просмотр событий без авторизации;
    • Возможность создания и управления категориями;
    • События и работа с ними - создание, модерация;
    • Запросы пользователей на участие в событии - запрос, подтверждение, отклонение;
    • Создание и управление подборками;
  • Сервис статистики — хранит количество просмотров и позволяет делать различные выборки для анализа работы приложения.

Описание сервисов

Основной сервис работаеат на порту 8080

API основного сервиса разделен на три части. Первая — публичная, доступна без регистрации любому пользователю сети. Вторая — закрытая, доступна только авторизованным пользователям. Третья — административная, для администраторов сервиса.

  • Публичный (доступен для всех пользователей)
    • API для работы с событиями
    • API для работы с категориями
    • API для работы с подборками событий
  • Приватный (доступен только для зарегистрированных пользователей)
    • API для работы с событиями
    • API для работы с запросами текущего пользователя на участие в событиях
  • Административный (доступен только для администратора проекта)
    • API для работы с событиями
    • API для работы с категориями
    • API для работы с пользователями
    • API для работы с подборками событий

Сервис статистики работает на порту 9090:

Собирает информацию. Во-первых, о количестве обращений пользователей к спискам событий и, во-вторых, о количестве запросов к подробной информации о событии. На основе этой информации формируется статистика о работе приложения.

  • Административный (доступен только для администратора проекта)
    • API для работы со статистикой посещений

Спецификация REST API swagger

java-explore-with-me's People

Contributors

kottret avatar

Watchers

 avatar

java-explore-with-me's Issues

fix: incorrect code generation by swagger-codegen-maven-plugin

In case of code generation via swagger-codegen-maven-plugin there are problems with escaping some quote symbols in the sources generated. This causes compilation errors.
The following plugin settings are used for repro:

    <build>
        <plugins>
            <plugin>
                <groupId>io.swagger.codegen.v3</groupId>
                <artifactId>swagger-codegen-maven-plugin</artifactId>
                <version>3.0.41</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.basedir}/../ewm-main-service-spec.json</inputSpec>
                            <language>spring</language>
                            <library>spring-boot</library>
                            <apiPackage>${apiPackage}</apiPackage>
                            <modelPackage>${modelPackage}</modelPackage>
                            <configOptions>
                                <sourceFolder>src/main/java/</sourceFolder>
                                <dateLibrary>java8</dateLibrary>
                                <interfaceOnly>true</interfaceOnly>
                                <useBeanValidation>true</useBeanValidation>
                                <performBeanValidation>true</performBeanValidation>
                            </configOptions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

The whole demo pom.xml see in terekhovmv/java-explore-with-me-fixes@da018e0 .

This issue is not reproduced for specs of stats service.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.