Giter Club home page Giter Club logo

community-workspace's Introduction

Community Workspace For Small Communities

A Community Workspace Project for Small Communities with Spring Boot 3.2.1, JDK 21 & Gradle 8.5.

Services are developed in the following modules:

  • Community Manager - Community Manager Service in order to manage community related functionalities.
  • Service Discovery - Service Discovery Service in order to discover other services.
  • API Gateway - API Gateway of the Overall Community Workspace.
  • User Manager - User Manager Service in order to manage user related functionalities.
  • Venue Manager - Venue Manager Service in order to manage venue related functionalities.
  • Event Manager - Event Manager Service in order to manage Event related functionalities.

Table of Contents

  1. How to Contribute
  2. Requirements
  3. Version Control Standards
  4. Postman Collection
  5. Copyright

How to Contribute

For the contributor covenant to this project, please check the Code of Conduct file.

Contributor Covenant

Credits

Please check the Contributors List to see who makes this open-source alive.

Requirements

For building and running the application belows are required;

Version Control Standards

Below version control standards should be followed within the project;

Postman Collection

You can find the postman collection within this file.

Copyright

GNU General Public License v3.0 Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. Please check the LICENSE file for more details.

community-workspace's People

Contributors

evrentan avatar onuraktasj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

community-workspace's Issues

[Feature]: Update Spring Boot Version to 3.0.3

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Update Spring Boot Version to 3.0.3. Apply this update for all services.

Describe alternatives you've considered
N/A

Additional context
N/A

Update Feature Request Template

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Update Feature Request Template;

  • Add "[Feature]" in the title
  • Add "enhancement" as label
  • Add @evrentan as assignee

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Revert #71

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Revert #71. Add back config-server-data folder to the tracking.

Describe alternatives you've considered
N/A

Additional context
N/A

Create a Staging Branch

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Create a Staging Branch;

  • Create a Staging Branch
  • Make it as the default branch.
  • All PRs should be opened to staging branch and if everything is fine, then staging will be merged into main.
  • Create a label named "merge branch"
  • Create related branch permissions for this purpose.

Describe alternatives you've considered
N/A

Additional context
N/A

[Bug]: Event Manager Configuration is Missing in API Gateway Local Property File

Describe the bug
Event Manager Configuration is Missing in API Gateway Local Property File.

To Reproduce
Steps to reproduce the behavior:
N/A

Expected behavior
Event Manager Configuration should be in API Gateway Local Property File.

Screenshots
N/A

Desktop (please complete the following information):
N/A

Smartphone (please complete the following information):
N/A

Additional context
N/A

[Feature]: Separate DBs for Each Service

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Separate DBs for Each Service;

  • Separate DB instances
  • Create/Update Flyway Migration Scripts

Describe alternatives you've considered
N/A

Additional context
N/A

Implement User Manager Service Initial Design

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Implement User Manager Service Initial Design. Implement entity, DTO, repository, mapper classes.

The DB table design is as below;

create table if not exists application_user
(
id uuid primary key default gen_random_uuid(),
full_name varchar(255),
email varchar(255),
twitter_account varchar(255),
linkedin_account varchar(255),
github_account varchar(255),
website_url varchar(255),
is_active boolean default true
);

comment on table application_user is 'Stores application user information';
comment on column application_user.id is 'Unique identifier for the application user. Type is uuid';
comment on column application_user.full_name is 'Full Name of the application user. Type is varchar(255)';
comment on column application_user.email is 'Email address of the application user. Type is varchar(255)';
comment on column application_user.twitter_account is 'Twitter account of the application user. Type is varchar(255)';
comment on column application_user.linkedin_account is 'Linkedin account of the application user. Type is varchar(255)';
comment on column application_user.github_account is 'Github account of the application user. Type is varchar(255)';
comment on column application_user.website_url is 'Website url of the application user. Type is varchar(255)';
comment on column application_user.is_active is 'Indicates whether the application user is active or not. Type is boolean and default is true';

create table if not exists user_type
(
id uuid primary key default gen_random_uuid(),
code varchar(16),
description text,
is_active boolean default true
);

comment on table user_type is 'Stores user type information';
comment on column user_type.id is 'Unique identifier for the user type. Type is uuid';
comment on column user_type.code is 'Code of the user type. Type is varchar(16). Possible values; admin, owner, speaker, member, guest';
comment on column user_type.description is 'Description of the user type. Type is text';
comment on column user_type.is_active is 'Indicates whether the user type is active or not. Type is boolean and default is true';

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Add Dockerfiles

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Add Dockerfiles to all services.

Describe alternatives you've considered
N/A

Additional context
N/A

Update Bug Report Template

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Update Bug Report Template;

  • Add "[Bug]" in the title
  • Add "bug" as label
  • Add @evrentan as assignee

Describe alternatives you've considered
N/A

Additional context
N/A

Implement Spring Cloud Config Server

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Implement Spring Cloud Config Server and update each service to retrieve the configs from the config server. Configs can be retrieved from local instead of github repo right now.

Describe alternatives you've considered
N/A

Additional context
N/A

[Bug]: GitHub ISSUE_TEMPLATE Wrong Name

Describe the bug

With PR #47, documentation_request.md is created under wrong folder as .github/ISSUET_TEMPLATE.

It should be moved to under .github/ISSUE_TEMPLATE folder and the wrong one should be deleted.

To Reproduce
Steps to reproduce the behavior:

  1. Check the screenshot and description.

Expected behavior
documentation_request.md should be under .github/ISSUE_TEMPLATE folder.

Screenshots

image

Desktop (please complete the following information):
N/A

Smartphone (please complete the following information):
N/A

Additional context
N/A

[Feature]: Create Schemas According to Service Name

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Create Schemas According to Service Name instead of using public schema. Schema names will be as below per DB;

  • community-manager-db --> community-manager
  • event-manager-db --> event-manager
  • user-manager-db --> user-manager
  • venue-manager-db --> venue-manager

application.properties files should be updated accordingly.

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Update Spring Boot Version to 3.0.3

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Update Spring Boot Version to 3.0.3. Apply this update for all services.

Describe alternatives you've considered
N/A

Additional context
N/A

Implement Venue Manager Service

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Implement Venue Manager Service. The DB table design is as below;

create table if not exists venue
(
id uuid primary key default gen_random_uuid(),
name varchar(255),
description text,
city varchar(255),
address text,
is_active boolean default true
);

comment on table venue is 'Stores venue information';
comment on column venue.id is 'Unique identifier for the venue. Type is uuid';
comment on column venue.name is 'Name of the venue. Type is varchar(255)';
comment on column venue.description is 'Description of the venue. Type is text';
comment on column venue.city is 'City of the venue. Type is varchar(255)';
comment on column venue.address is 'Address of the venue. Type is text';
comment on column venue.is_active is 'Indicates whether the venue is active or not. Type is boolean and default is true';

create table if not exists room
(
id uuid primary key default gen_random_uuid(),
name varchar(255),
description text,
capacity integer,
venue_id uuid,
is_active boolean default true,
foreign key (venue_id) references venue (id)
);

comment on table room is 'Stores room information';
comment on column room.id is 'Unique identifier for the room. Type is uuid';
comment on column room.name is 'Name of the room. Type is varchar(255)';
comment on column room.description is 'Description of the room. Type is text';
comment on column room.capacity is 'Capacity of the room. Type is integer';
comment on column room.venue_id is 'Unique identifier for the venue. Type is uuid. Foreign key to venue.id';
comment on column room.is_active is 'Indicates whether the room is active or not. Type is boolean and default is true';

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Update Event Information

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Update Event Information:

  • End-point should be created under EventController.
  • Method name should be updateEvent.
  • HTTP method should be PUT.
  • API should consume and produce application/json content-type.
  • Documentation (javadoc & Swagger UI) should be implemented throughout the all related classes & methods.
  • It should take eventId as PathVariable and EventDto as RequestBody.
  • It should produce HTTP Status 202 - accepted when it is a success.
  • If event is not found, it should produce 404 - not found.
  • If there is an exception while method execution, it should producr 500 - internal server error.
  • It should update all the event information within the request, so all attributes should be received.
  • You can use the example for updateCommunity method within CommunityController.
  • The structure should follow service, impl structure with related mappings if required.

Describe alternatives you've considered
N/A

Additional context
N/A

[Documentation]: Create a CONTRIBUTORS.md File

Is your documentation request related to a problem? Please describe.
N/A

Describe the documentation you'd like
Create a CONTRIBUTORS.md File.

You can refer to the CONTRIBUTORS.md file from my other open-source project.

Please also give a link in README.md file under Credits section. You need to add Credits section in README.md file. You can refer to Credits section.

Additional context
N/A

Implement a Sample Test Controller for Spring Cloud Config Server

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Implement a Sample Test Controller for Spring Cloud Config Server. Implement it in the community-manager service.

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Create a Documentation Request Template

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Create a Documentation Request Template by referring to feature request template. Below points should also be addressed.

  • Add "[Documenatation]" in the title
  • Add "documentation" as label
  • Add @evrentan as assignee

Describe alternatives you've considered
N/A

Additional context
N/A

Add info for actuator to all services

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Add info for actuator to all services.

  • Enable info endpoint for actuator in application.properties
  • Enable env info in application.properties
  • Add application info in application.properties

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Add config-server-data folder to .gitignore

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Add config-server-data folder to .gitignore as config server data may change from local to local.

Describe alternatives you've considered
N/A

Additional context
N/A

[Bug]: column "user_type_id" of relation "event_participant" does not exist

Describe the bug

Message : ERROR: column "user_type_id" of relation "event_participant" does not exist
Location : db/migration/V1__initial_event_manager_db_ddl.sql (/Volumes/MyGitHub/community-workspace/event-manager/build/resources/main/db/migration/V1__initial_event_manager_db_ddl.sql)
Line : 86
Statement : comment on column event_participant.user_type_id is 'Unique identifier for the user type. Type is uuid. Referenced to user_type.id in user-manager-db'

To Reproduce
Steps to reproduce the behavior:

  1. Run event-manager-service

Expected behavior
event-manager service should be booted.

Screenshots
N/A

Desktop (please complete the following information):
N/A

Smartphone (please complete the following information):
N/A

Additional context
N/A

[Feature]: Create a Merge Branch Request Template

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Create a Merge Branch Request Template with below attributes;

  • assignee -> @evrentan
  • label --> "merge branch"
  • Two drop-down list stating the merge branch from & to

Describe alternatives you've considered
N/A

Additional context
N/A

Implement Event Manager Service Initial Design

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Implement Event Manager Service Initial Design. Implement entity, DTO, repository, mapper structure & a up&running service.

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Alter event Table in EventManager Service

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Alter event Table in EventManager Service by adding a new column;

  • named --> participant_limit
  • type --> integer
  • comment --> 'Participant limit of the event fee. Type is integer. 0 or null means there is no participant limit'

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Add DB and Schema Create Scripts

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Add DB and Schema Create Scripts to CREATE_DB_AND_SCHEMA_SCRIPTS.md file for each service.

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Add DB Info to Each Related README.md File

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Add DB Info to Each Related README.md File.

As DBs are separated for each service, it will be good to have DB info in each service README.md file.

Describe alternatives you've considered
N/A

Additional context
N/A

[Bug]: Wrong Hikari Pool Schema Configuration

Describe the bug
Wrong Hikari Schema Configuration for all services. This issue occurs after #83. All service Hikari Pool Schema configuration must be corrected.

To Reproduce
Steps to reproduce the behavior:

  1. Make any transaction on DB level.

Expected behavior
Successful DB transactions should be executed.

Screenshots
N/A

Desktop (please complete the following information):
N/A

Smartphone (please complete the following information):
N/A

Additional context
N/A

[Feature]: Upgrade to Spring Boot 3.0.0

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Upgrade to Spring Boot 3.0.0.

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Create Get Event by ID End-Point

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Create Get Event by ID End-Point within Event Manager Service.

  • It should be implemented within EventController.
  • The name of the method should be getEvent
  • Event Id should be passed as path variable to the method.
  • It should return ResponseEntity
  • The logic should be implemented within related service & impl packages.
  • You can refer to getCommunity method within CommunityController.
  • Not Found - 404 HTTP Status code should be returned if there is no event by throwing & catching the NotFound exception.
  • Bad Request- 400 HTTP Status code should be returned if the request is not correct.
  • 200 HTTP Status code should be returned with the list of events in the success case.

Describe alternatives you've considered
N/A

Additional context
N/A

Implement API Gateway Service

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Implement API Gateway Service

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Create Update Event Status End-Point

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Create Update Event Status End-Point within Event Manager Service.

  • End-point should be created under EventController.
  • Method name should be updateEventStatus
  • HTTP method should be PATCH.
  • It should take the event id (event's uuid) as the request param called id and the status as the request body.
  • You can use the example for updateCommunityStatus method within CommunityController.
  • The structure should follow service, impl structure with related mappings if required.

Describe alternatives you've considered
N/A

Additional context
N/A

Add Venue Manager Business Logic

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Add Venue Manager Business Logic in controller, service & implementation layers.

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Upgrade to Spring Boot 2.7.6

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Upgrade to Spring Boot 2.7.6

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Add FeignClient Dependency

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Add Feign Client dependency for community-manager, event-manager, user-manager & venue-manager services.

Describe alternatives you've considered
N/A

Additional context
N/A

Update Remove Room from Venue Logic by Removing Venue ID from Request

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Update Remove Room from Venue Logic.
Venue ID information is sent in the as-is architecture but there is no need to send venue id as the association between venue & room is 1-to-1.
VenueRoom object should be removed from request body of removeFromVenue API.

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Add Event Manager DB DDL Script for Flyway Migration

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Add Event Manager DB DDL Script for Flyway Migration within the event-manager-db initial ddl file.

Below ddl scripts should be present in the file.

create table if not exists event
(
    id                 uuid primary key default gen_random_uuid(),
    name               varchar(255),
    description        text,
    is_active          boolean          default true,
    event_date         timestamptz,
    is_online          boolean,
    event_url          varchar(255),
    is_free            boolean,
    event_fee          numeric(10, 2),
    event_fee_currency varchar(255)
);

comment on table event is 'Stores event information';
comment on column event.id is 'Unique identifier for the event. Type is uuid';
comment on column event.name is 'Name of the event. Type is varchar(255)';
comment on column event.description is 'Description of the event. Type is text';
comment on column event.is_active is 'Indicates whether the event is active or not. Type is boolean and default is true';
comment on column event.event_date is 'Date of the event. Type is timestamp with time zone';
comment on column event.is_online is 'Indicates if the event is online. Type is boolean';
comment on column event.event_url is 'URL of the event. Type is varchar(255)';
comment on column event.is_free is 'Indicates if the event is free. Type is boolean';
comment on column event.event_fee is 'Fee of the event. Type is numeric(10,2)';
comment on column event.event_fee_currency is 'Currency of the event fee. Type is varchar(255)';

create table if not exists event_community
(
    id           uuid primary key default gen_random_uuid(),
    event_id     uuid,
    community_id uuid,
    is_active    boolean default true,
    foreign key (event_id) references event (id)
);

comment on table event_community is 'Stores event-community information';
comment on column event_community.id is 'Unique identifier for the event community relation. Type is uuid';
comment on column event_community.event_id is 'Unique identifier for the event. Type is uuid. Foreign key to event.id';
comment on column event_community.community_id is 'Unique identifier for the community. Type is uuid. Referenced to community.id in community-manager-db';
comment on column event_community.is_active is 'Indicates whether the event community relation is active or not. Type is boolean and default is true';

create table if not exists event_venue
(
    id       uuid primary key default gen_random_uuid(),
    event_id uuid,
    venue_id uuid,
    is_active boolean default true,
    foreign key (event_id) references event (id)
);

comment on table event_venue is 'Stores event-venue information';
comment on column event_venue.id is 'Unique identifier for the event venue relation. Type is uuid';
comment on column event_venue.event_id is 'Unique identifier for the event. Type is uuid. Foreign key to event.id';
comment on column event_venue.venue_id is 'Unique identifier for the venue. Type is uuid. Referenced to venue.id in venue-manager-db';
comment on column event_venue.is_active is 'Indicates whether the event venue relation is active or not. Type is boolean and default is true';

create table if not exists event_room
(
    id       uuid primary key default gen_random_uuid(),
    event_id uuid,
    room_id uuid,
    is_active boolean default true,
    foreign key (event_id) references event (id)
);

comment on table event_room is 'Stores event-room information';
comment on column event_room.id is 'Unique identifier for the event room relation. Type is uuid';
comment on column event_room.event_id is 'Unique identifier for the event. Type is uuid. Foreign key to event.id';
comment on column event_room.room_id is 'Unique identifier for the room. Type is uuid. Referenced to room.id in venue-manager-db';
comment on column event_room.is_active is 'Indicates whether the event room relation is active or not. Type is boolean and default is true';

create table if not exists event_participant
(
    id         uuid primary key default gen_random_uuid(),
    event_id   uuid,
    user_id uuid,
    user_type uuid,
    is_active  boolean default true,
    foreign key (event_id) references event (id)
);

comment on table event_participant is 'Stores event-participant information';
comment on column event_participant.id is 'Unique identifier for the event participant relation. Type is uuid';
comment on column event_participant.event_id is 'Unique identifier for the event. Type is uuid. Foreign key to event.id';
comment on column event_participant.user_id is 'Unique identifier for the application user. Type is uuid. Referenced to application_user.id in user-manager-db';
comment on column event_participant.user_type_id is 'Unique identifier for the user type. Type is uuid. Referenced to user_type.id in user-manager-db';
comment on column event_participant.is_active is 'Indicates whether the event participant relation is active or not. Type is boolean and default is true';

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Create Get All Events End-Point

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Create Get All Events End-Point within Event Manager Service.

  • It should be implemented within EventController.
  • The name of the method should be getAllEvents
  • There should not be any parameter in the signature
  • It should return ResponseEntity<List>
  • The logic should be implemented within related service & impl packages.
  • You can refer to getAllCommunities method within CommunityController.
  • Not Found - 404 HTTP Status code should be returned if there is no event by throwing & catching the NotFound exception.
  • 200 HTTP Status code should be returned with the list of events in the success case.

Describe alternatives you've considered
N/A

Additional context
N/A

Add User Manager Business Logic

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Add User Manager Business Logic in controller, service & implementation layers for ApplicationUser & UserType classes.

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Update Swagger Documentation Email

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Update Swagger Documentation Email. New value should be as below;

contact.setEmail("[email protected]");

Update all related SwaggerConfig files.

Describe alternatives you've considered
N/A

Additional context
N/A

Drop guest table in the DB

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Drop guest table in the DB as there is no need after the new DB model. user_type will be used instead.

Describe alternatives you've considered
N/A

Additional context
N/A

Implement Assign to Venue & Remove from Venue for Room

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Implement Assign to Venue & Remove from Venue for Room.
Add to endpoints to RoomController in order to assign the room to a venue & remove the room from the venue.

Method Names:

  • assignToVenue
  • removeFromVenue

Method:

  • PATCH for boh

Input:

  • RequestParam -> roomId

  • RequestBody --> Venue DTO with the related venueId

Logic for Add to Venue:

  • Check whether the roomId is valid (there is an active room with that id)
  • Check whether the venueId is valid (there is an active room with that id)
  • Check whether there is an active record for the venueId & roomId in the venue_room entity.
  • If yes, do nothing
  • If no, save to venue_room entity

Describe alternatives you've considered
N/A

Additional context
N/A

[Bug]: Documentation Req is not displayed

Describe the bug
Documentation Req is not displayed while trying to create an issue.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Issues'
  2. Click on 'New Issue'
  3. Documentation Request is not displayed

Expected behavior
Documentation request should be displayed while creating a new issue.

Screenshots

image

Desktop (please complete the following information):
N/A

Smartphone (please complete the following information):
N/A

Additional context
N/A

[Feature]: Create createEvent End-Point

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Create createEvent End-Point by following the below steps:

  • Create the end-point within the controller package in event-manager service
  • The name of the method should be creatEvent
  • It must be a POST mapping
  • Swagger UI annotations must be added. You can check the other end-points, such as the one in the community-manager service.
  • Javadoc must be added for each class, method.
  • It must return ResponseEntity
  • The service should be implemented within the service layer by implementing interface.
  • All entities must be created according to the db model.
  • Repository must be created.
  • All DTOs must be created according to entities.
  • Mappers must be created for the related entities & DTOs.
  • Request & response content-type must be application/json.
  • Event Id must be in the response with all the variables sent in the request.
  • Response should be 201 - Created if it is success.
  • If participant limit is 0 or null, then it means it is unlimited participant.
  • There must be some checks in the request and if one the checks are not met, the response should be 400 - Bad Request.
    • Name, event date, isOnline, isFree, participantLimit are mandatory
    • If the event is online, there must be event url
    • If the event is physical, there must be the related venue id and the room id in the requet
    • If there is an event fee, event fee & event fee currency must be in the request

Below is a sample request for an online free event with unlimited participant;

{
    "name": "Event 1",
    "description": "Event 1 Description",
    "eventDate": "1676447054",
    "isOnline": true,
    "eventUrl": "http://youtube.com/turkeyjavacommunity",
    "isFree": true,
    "participantLimit": 0
}

And below is a physical event with fee and limited participant;

{
    "name": "Event 1",
    "description": "Event 1 Description",
    "eventDate": "1676447054",
    "isOnline": false,
    "venueId": "12312",
    "roomId": "23423",
    "isFree": false,
    "eventFee": 50,
    "eventCurrentcy": "TRY",
    "participantLimit": 50
}

Describe alternatives you've considered
N/A

Additional context
N/A

[Feature]: Update Actuator Info Application Author WebPage

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
Update Actuator Info Application Author WebPage. New value should be;

info.application.author.webPage = https://evren.tan

Update all related property files.

Describe alternatives you've considered
N/A

Additional context
N/A

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.