Git Product home page Git Product logo

eventtrackingservice's Introduction

                                Проект в лабораторию РТУ МИРЭА
                                Автор: Жизневский Никита ИКБО-16-20

Описание:


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

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

Сервис будет поддерживать аутентификацию и авторизацию пользователей для защиты конфиденциальности и безопасности информации. Администраторы могут управлять регистрационными данными.

Целью этого сервиса является упрощение процесса поиска и регистрации на события для пользователей, а также предоставление удобного инструмента для организаторов событий для управления их мероприятиями.

Технологии:

- Java
- Spring
- Hibernate
- Swagger
- PostgreSql
- Lombok
- Docker
- JUnit

API:

Метод логина
POST api/auth/login
body: {
    "username":{username},
    "email":{email},
    "password":"{password}"
}

Метод регистрации
POST api/auth/register
body: {
    "username":{username},
    "email":{email},
    "password":"{password}"
}

Метод получения информации о авторизованном пользователе
headers: {
    "Authorization": {access_token}
}
GET api/auth/login/userinfo

Метод изменения данных учетной записи
POST api/user/edit
headers: {
    "Authorization": {access_token}
}
body: {
    "username":{username},
    "email":{email},
    "password":"{password}"
}

Метод удаления пользователя
POST api/user/deleteUser?id={id}
headers: {
    "Authorization": {access_token}
}
param:{
    Long id
}

Метод регистрации на мероприятия
POST api/user/register?tag={tag}
headers: {
    "Authorization": {access_token}
}
param:{
    String tag
}

Метод получения всех мероприятий
GET api/event/getAll
headers: {
    "Authorization": {access_token}
}

Метод добавления события 
POST api/event/addEvent
headers: {
    "Authorization": {access_token}
}
body:{
    "title":"title",
    "description":"description",
    "location":"location",
    "tag":"tag"
}

Метод удаления мероприятия 
POST api/event/deleteEvent
headers: {
    "Authorization": {access_token}
}
body:{
    "tag":"tag"
}

Метод просмотра всех участников опредленных событий
POST api/event/checkEventMembers?tag={tag}
headers: {
    "Authorization": {access_token}
}
param:{
    String tag
}

URL документации swagger: /swagger-ui/index.html#/
А также документация в каталоге Docs в корне проекта

Для запуска проекта с Docker:

1. Установить Docker с оффициального сайта https://www.docker.com/
2. Выбрать папку, где будет храниться проект
3. В выбранной папке прописать команду "git clone https://github.com/Nikita535/EventTrackingService"
4. В терминале (в корневой папке проекта) прописать команду docker-compose up

Для запуска проекта без Docker:

1. В этом проекта используется среда разработки  IntelliJ IDEA, но у вас может быть любая другая.
2. Переходим к созданию проекта. Выбираем new->Project->ProjectFromVS и в открывшися инпут вставляем ссылку на гит репозиторий.
В данном случае: "https://github.com/Nikita535/EventTrackingService"
3. Для запуска проекта потребуется заранее установленный JDK 17. Ее можно скачать с https://www.oracle.com/java/technologies/downloads/.
4. В конфигурации приложения в поле SDK выбираем предустановленную версию JDK.
5. Запускаем. Congratulations!

eventtrackingservice's People

Contributors

nikita535 avatar

Watchers

 avatar

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.