Skip to content

EasyEcom_Calendar connects to the Google Calendar API to perform CURD operations for event management and provides an integrated calendar experience for users on the EasyEcom platform.

Notifications You must be signed in to change notification settings

pratiksontakke/EasyEcom_Calendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasyEcom_Calendar API

EasyEcom_Calendar is a project that connects to the Google Calendar API to perform Create, Update, Read, and Delete (CURD) operations on Google Calendar events. The project likely implements features such as creating new events, updating existing events, retrieving event information, and deleting events from the Google Calendar. It allows users to interact with their Google Calendar directly from the EasyEcom platform, simplifying event management and providing an integrated calendar experience.

API Presentation Video

Team Members

Language

  • Java

Database

  • My-SQL

Deployment

On terminal perform:

  Open pom.xml with Spring Tool Suite / IntelliJ IDEA and run

Spring Boot Dependencies

  • google-api-services-calendar
  • spring-boot-starter-validation
  • spring-boot-starter-web
  • spring-boot-maven-plugin
  • spring-boot-starter-test
  • google-api-client
  • lombok

🛠 Tech Stack

  • Java
  • Spring
  • Spring-boot
  • Spring-boot-web
  • spring-security
  • Google calendar API

Functionality

  • Authentication
  • Create token
  • Perform CURD operations

Flow of User

  • Authentication
  • Create token
  • Perform CURD operations

application.properties :

  server.port=9000

  #Google Calendar API Configuration
  google.client.client-id="write your own id"
  google.client.client-secret="write your own secret code"
  google.client.access-token-uri=https://www.googleapis.com/oauth2/v3/token
  google.client.user-authorization-uri=https://accounts.google.com/o/oauth2/auth?access_type=offline&prompt=consent
  google.client.client-authentication-scheme=query
  google.client.scope=profile,email,https://www.googleapis.com/auth/calendar
  google.resource.user-info-uri=https://www.googleapis.com/oauth2/v2/userinfo
  google.resource.prefer-token-info=true
  google.client.redirectUri=http://localhost:9000/login/google
  spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER

  spring.main.allow-circular-references=true
  spring.main.allow-bean-definition-overriding=true

API Endpoints :

AUTHENTICATION :

- http://localhost:9000/login/google

GET:

- http://localhost:9000/getEvents

POST:
- http://localhost:9000/addEvent

PUT:
- http://localhost:9000/updateEvent

DELETE:
- http://localhost:9000/deleteEvent

Testing links of endpoints :

GET : 
  - http://localhost:9000/getEvents?startDate=2023-01-17T00:00:00.000Z&endDate=2023-01-17T23:59:00.000Z&calendarId1=primary

POST :
  - http://localhost:9000/addEvent

  EventDTO BODY :
  {
    "summary": "Vicky DSA",
    "location": "Online",
    "description": "Practice DSA",
    "attendees": [
      "pratikasss488@gmail.com"
    ],
    "startTime": "2023-01-17T14:00:00.000+05:30",
    "endTime": "2023-01-17T15:30:00.000+05:30"
  }


PUT : 
  - http://localhost:9000/updateEvent?eventId=52u1irtr7idcs5rtq95tvca41cdfdf

  EventDTO BODY :
  {
    "summary": "Ritik DSA",
    "location": "Offline",
    "description": "Practice 2 DSA",
    "attendees": [
      "pratikasWs488@gmail.com",
      "pratikasss488@gmail.com",
      "pratikassss488@gmail.com"
    ],
    "startTime": "2023-01-17T12:00:00.000+05:30",
    "endTime": "2023-01-17T13:30:00.000+05:30"
  }

DELETE :
  - http://localhost:9000/deleteEvent?eventId=52u1irtr7idcs5rtq95tvca41c

Thank you note

Thank you all who is giving precious time to visit my little creative project which is made with lot of efforts.

About

EasyEcom_Calendar connects to the Google Calendar API to perform CURD operations for event management and provides an integrated calendar experience for users on the EasyEcom platform.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages