Skip to content

trip-sketch/tripsketch

Repository files navigation

🚀 Tripsketch Backend Project

Refresh Bookstore Logo
"We are flying to 'sketch' a great trip in your mind." ✈️
Download ⬇️

Tech Stack

Language and Frameworks
Spring Boot Spring Data MongoDB Kotlin


Database and ORM
MongoDB Spring Data MongoDB


Infrastructure and Deployment
Docker Docker Compose Oracle Cloud Infrastructure Jib Caddy


Other Tools
Swagger GitHub Actions highlight.io


트립스케치


📜 Introduction

We power the "TRIPSKETCH" mobile app with our robust web server application.

📅 Development period: July 2023 - September 2023

📦 Installation Guide

Prerequisites

  • JVM 21
  • Kotlin 1.9.22
  • MongoDB (NoSQL)
# Step 1: Install JVM 21 and Kotlin
# If you are a Linux user
# It is highly recommended to install via the Azul zulu deb or rpm package manager

# Step 2: Clone the repository
git clone github.com/trip-sketch/tripsketch

# Step 4: Navigate to the project directory
cd tripsketch

# Step 5: Build and run the project
./gradlew build

# Step 6: Run the project
./gradlew run

🛠 Architecture Diagram

image

🌟 Key Features

  • 📚 User Authentication: User authentication using Kakao OAuth.
  • ✏️ Travel Diary CRUD: Create, Read, Update, Delete functionality for travel diaries.
  • 🔍 Diary Exploration/Search: Exploration and search feature for travel diaries.
  • ❤️ Diary 'Like' Feature: 'Like' feature for travel diaries.
  • 💬 Comment CRUD: Comment Create, Read, Update, Delete functionality.
  • 👍 Comment 'Like' Feature: 'Like' feature for comments.
  • 📝 Reply CRUD: Reply Create, Read, Update, Delete functionality.
  • 💖 Reply 'Like' Feature: 'Like' feature for replies.
  • 📥 User Subscription: User subscription feature.
  • 🔔 Push Notifications: Push notification and notification management feature.
  • 🖊️ Profile Editing: Profile editing feature.

📂 Project File Structure

View File Structure
├── HELP.md
├── LICENSE
├── README.md
├── build.gradle.kts
├── docker
│   └── local.dockerfile
├── docker-compose.yml
├── gradle
│   └── wrapper
├── gradlew
├── gradlew.bat
├── output.txt
├── settings.gradle.kts
└── src
    └── main
        ├── kotlin
        │   └── kr
        │       └── kro
        │           ├── Application.kt
        │           └── tripsketch
        │               ├── auth
        │               ├── comment
        │               ├── commons
        │               ├── follow
        │               ├── notification
        │               ├── trip
        │               └── user
        └── resources
            ├── application.properties
            ├── banner.txt
            ├── logback.xml
            └── static

🤝 Team Members & Responsibilities

  • Hojun Song

    • Team Leadership
    • User management
    • Image Processing
    • User Authentication
    • Managing Notifications
  • Saejin Park

    • Implementing Search Features
    • Posts/Articles Management
  • ByeonUk Ko

    • Category Management
    • Threaded Comments Oversight and Management
  • Hyejin Youn

    • Image Processing

👀 Did you know?