Skip to content

Restful API Project with Spring Framework, Kotlin, Spring Data JPA, PostgreSql ...

Notifications You must be signed in to change notification settings

LegendisM/maktab

Repository files navigation

Maktab

This project was created with Kotlin language and using Spring framework.

The purpose of this project is to manage books, users, attachments and more (RestfulAPI).

Dependencies

  • Spring Framework
  • Spring Boot
  • Spring Boot Security
  • Spring Data JPA
  • Validation
  • Postgres Driver
  • Json Web Token (JWT)
  • Map Struct
  • AWS S3 (io.awspring.cloud)
  • WebSocket (SockJS, Stomp)
  • KDoc

Modules

  • Auth Module (signin, signup, auth-interceptor, currentUser-annotation, etc)
  • User Module
  • Campaign Module (create, filter, findOne, update, delete, etc)
    • Targets, Logs, Members, Chats
  • Book Module (create, filter, findOne, update, delete, etc)
  • Category Module (create, filter, findOne, update, delete, etc)
  • Common (Pagination, General Responses DTO, General Exceptions, SecretConfiguration)
  • Storage Module (S3)

TODO

  • Storage Module (S3)
    • Add user avatar-image
    • Add book images, document-file
    • MultipartFile Validator (content-type, size, etc)
  • User Profile Management
    • Add PATCH /profiles/me for updating user profile (username, avatar)
  • Policy Manager (user-permissions, user-role)
    • User Role
    • User Permissions
    • Initializer (default roles and permissions)
    • Interceptor + Annotations (Guard) to check permissions and roles in controllers
  • Tag Module
  • Campaign Module
    • Manage campaign (create, find, delete)
      • Validate ownership policy for update/delete operation
    • Join/Leave from campaign (campaign members)
    • Campaign member management (campaign members)
    • Campaign target (create, find, delete)
    • Campaign target log (create, find, delete)
    • Campaign real-time group chat
    • Campaign transactions logs (changes tracker for owner)
  • Migration - Flyway
  • Docker
  • Add Code Comments (KDoc)
    • Entities
    • DTOS
    • Methods of Services
  • Implement Websocket custom handshake (authorization)
  • Auh Session Management (active devices, etc)
    • OAuth Server (Spring)
  • Purchasable products (book, etc)

About

Restful API Project with Spring Framework, Kotlin, Spring Data JPA, PostgreSql ...

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published