Skip to content

Latest commit

 

History

75 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Calendar Application

A desktop calendar application with Go backend and Qt C++ frontend. The system provides functionality for event management, notifications, chats, and file handling.

Project Architecture

Backend Services

  • API Server (Go) - main REST API server
  • Notifier (Go) - notification service
  • PostgreSQL - primary data storage
  • MongoDB - storage for chats and messages
  • MinIO - object storage for files and attachments
  • RabbitMQ - message broker for asynchronous tasks

Frontend

  • Qt C++ - desktop client application

API Endpoints

Users (/users)

  • POST /users/login - user authentication
  • POST /users/register - user registration
  • POST /users/{uid}/update - update user data
  • POST /users/{uid}/changepass - change password
  • GET /users/{uid}/profile - get user profile

Events (/events)

  • POST /events/add - create event
  • GET /events/{uid}/month - get events by month
  • GET /events/{uid}/week - get events by week
  • GET /events/{uid}/day - get events by day
  • DELETE /events/{uid}/delete - delete event
  • POST /events/update - update event
  • POST /events/{eventID}/{uid} - change participant status
  • GET /events/{eventID}/parts - get event participants
  • GET /events/{uid} - get all user events
  • POST /events/{eventID}/notify - configure notifications
  • GET /events/one/{eventID} - get specific event

Chats (/chats)

  • POST /chats/{eventID} - send message
  • GET /chats/{eventID} - get chat messages

Attachments (/attachs)

  • POST /attachs/{eventID} - upload file
  • GET /attachs/{eventID} - get attachments

Docker Compose Services

  • PostgreSQL:14.8
  • MongoDB:6.0
  • MinIO
  • RabbitMQ:3.12
  • API Server
  • Notifier Service

Core Features

  • Event management (create, edit, delete)
  • Calendar views (day/week/month)
  • Event participants system
  • Per-event chat functionality
  • File upload and storage
  • Notification system
  • Authentication and profile management

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages