Skip to content

"eBito" - это онлайн-платформа, объединяющая международный маркетплейс eBay и российский Avito

Notifications You must be signed in to change notification settings

Ilyas344/Online_Store_Ebito

 
 

Repository files navigation

Информация

Авторы:

Максим Сыров (CatUnderGlue)
Ильяс Кучукбаев (Ilyas344)
Исакова Мария (profmi2022)
Ильдар Губайдуллин (MexxMo)
Андрей Попов (zalex14)

Проект: Наследник Ebay и Avito

Старт проекта: 22.05.2023

Описание:

"eBito" - это онлайн-платформа, объединяющая международный маркетплейс eBay и российский Avito. С помощью eBito пользователи могут покупать и продавать товары и услуги во всем мире, включая Россию и другие страны, где присутствует eBay. Платформа предлагает широкий выбор категорий товаров: электроника, мода, спорт, авто и многое другое. eBito обеспечивает безопасность сделок и защиту покупателей и продавцов, а также предоставляет удобный и простой интерфейс для использования. С eBito покупки и продажи становятся быстрыми, удобными и доступными для всех.

Запуск приложения

  • Перед запуском приложения обязательно добавьте эти переменные в параметры запуска:
    • db.url = ссылка на подключение к вашей бд
    • db.user = ваш пользователь бд
    • db.password = ваш пароль от бд
  • Загрузить контейнер с фронтэнд частью с помощью команды:
    docker pull mexxar11/ebito:1.0
  • Для запуска контейнера использовать команду:
  • docker run --rm -p 3000:3000 mexxar11/ebito:1.0
  • Можно запускать главный класс приложения.

Стэк технологий

Java Maven Spring Postgres GitHub

  • ЯП: Java 11
  • Автоматизация сборки: Maven
  • Фреймворк: Spring
  • База данных: PostgreSQL
  • Контроль версий: Git
Зависимости
   <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- Security -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <!-- Базы данных -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <scope>runtime</scope>
    </dependency>
    <!-- Swagger -->
    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-ui</artifactId>
        <version>1.6.15</version>
    </dependency>
    <!-- Lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <!-- Test -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!-- Mapping -->
    <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
        <version>1.5.5.Final</version>
    </dependency>
    <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct-processor</artifactId>
        <version>1.5.5.Final</version>
    </dependency>
</dependencies>

Классы и связи

classDiagram
    class Ads {
        -Integer id
        -String title
        -String description
        -int price
        -User author;
        -Image image;
    }

    class Comment {
        -Integer id
        -Long createdAt
        -String text
        -Ads ads
        -User author
    }

    class Image {
        -String id
    }

    class User {
        -Integer id
        -String firstName
        -String lastName
        -String email
        -String password
        -String phone
        -Image image
        -Role role
        -List<Ads> ads
    }

    class Role {
        <<enumeration>>
        +USER
        +ADMIN
    }

    class GrantedAuthority {
        <<Interface>>

    }

    class LoginReq {
        -String password
        -String username
    }

    class RegisterReq {
        -String username
        -String password
        -String firstName
        -String lastName
        -String phone
        -Role role
    }

    class NewPasswordDto {
        -String currentPassword;
        -String newPassword;
    }

    class AdsDto {
        -Integer author
        -String image
        -Integer pk
        -Integer price
        -String title
    }

    class CommentDto {
        -Integer author
        -String authorImage
        -String authorFirstName
        -Long createdAt
        -Integer pk
        -String text
    }

    class CreateAdsDto {
        -String description
        -Integer price
        -String title
    }

    class CreateCommentDto {
        -String text
    }

    class FullAdsDto {
        -Integer pk
        -String authorFirstName
        -String authorLastName
        -String description
        -String email
        -String image
        -String phone
        -Integer price
        -String title
    }

    class ResponseWrapperAdsDto {
        -Integer count
        -List<AdsDto> results
    }

    class ResponseWrapperCommentDto {
        -Integer count
        -List<CommentDto> results
    }

    Role <|-- GrantedAuthority

    Ads -- User
    Ads -- Image

    Comment -- Ads
    Comment -- User

    User -- Image
    User -- Ads
    Role o-- User

    Ads ..|> AdsDto
    Ads --|> FullAdsDto
    Comment ..|> CommentDto
    User ..|> UserDto
    Image ..|> UserDto

    AdsDto -- ResponseWrapperAdsDto
    CommentDto -- ResponseWrapperCommentDto

    AdsDto -- CreateAdsDto
    FullAdsDto -- AdsDto
    CommentDto -- CreateCommentDto

    UserDto -- NewPasswordDto
    UserDto -- LoginReq
    UserDto -- RegisterReq

Loading

About

"eBito" - это онлайн-платформа, объединяющая международный маркетплейс eBay и российский Avito

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.8%
  • Dockerfile 0.2%