┌─────────────────────────────────────────────────────────┐
_ _ _
| | (_) (_)
__ _ _ __ | | __ __ _ _ _ __ _ ___
/ _` | | '__| | |/ / / _` | | | | '_ \ | | / _ \
| (_| | | | | < | (_| | | | | | | | _ | | | (_) |
\__,_| |_| |_|\_\ \__,_| |_| |_| |_| (_) |_| \___/
└─────────────────────────────────────────────────────────┘
- A customizable memo application that allows users to create, organize, and manage memos in a visual and intuitive way.
- Memos can be categorized using color tags and displayed on a Kanban-style board for easy task management.
- Includes speech-to-text (STT) support, enabling users to quickly add memos by voice.
-
Check URL and Port
- Move your mouse pointer over the [Preview] → [Running URL and Port] button in the menu bar and click the button.
- Check that the domains are registered on the 3000 and 8080 ports.
- If not, register the domain.
-
Environment variables and config settings
- Move to the
cd /workspace/custom-memo-app/front
directory and create a.env
file. - Inside the file, add the following content:
VITE_API_BASE_URL={server_base_url}
- for example
VITE_API_BASE_URL=https://custom-memo-app-base-url.arkain.site
- add domain to the
vite.config.js
file
allowedHosts: [ // ex) "custom-memo-front.ap-northeast-2.arkain.site" // add your own domain here ]
- add your front domain in CorsConfig in
back/src/.../back/config/web/CorsConfig.kt
val configuration = CorsConfiguration().apply { allowedOrigins = listOf("http://localhost:3000", "http://localhost:5173") // add your front domain here // for example // allowedOrigins = listOf("http://localhost:3000", "http://localhost:5173", "https://custom-memo-front.ap-northeast-2.arkain.site") allowedMethods = listOf("GET", "POST", "PUT", "DELETE", "OPTIONS", "PATCH") allowedHeaders = listOf("*") allowCredentials = true }
- Move to the
-
Check the database
service mysql start
- Check the secret key
- The
SECURITY_SECRET_KEY
is automatically registered in your~/.bashrc
when the project is set up. - If you want to generate and apply a new secret key, run the following command:
sh set_key.sh && source ~/.bashrc
- This will:
- Generate a new 640-character random secret key
- Update the
SECURITY_SECRET_KEY
in your~/.bashrc
- Run
source ~/.bashrc
to apply the changes. - Note: If
SECURITY_SECRET_KEY
is missing from you environment, the server will fail to start.
- The
- Run Project
- Click [Run Portfolio] button in the menu bar
- Alternatively, You can directly run the process.
cd /workspace/custom-memo-app/back
and usepm2 start "./gradlew bootRun" --name memo-back
cd /workspace/custom-memo-app/front
and usepm2 start "npm run dev" --name memo-front
client
front
├── node_modules
├── src
│ ├── App.css
│ ├── App.jsx
│ ├── apis
│ │ ├── auth.js
│ │ ├── instance.js
│ │ ├── member.js
│ │ └── memo.js
│ ├── components
│ │ ├── Button.jsx
│ │ ├── KanbanBoard.jsx
│ │ ├── KanbanColumn.jsx
│ │ ├── MemoCard.jsx
│ │ ├── MemoList.jsx
│ │ ├── MemoModal.jsx
│ │ ├── STTButton.jsx
│ │ ├── SearchBar.jsx
│ │ └── index.js
│ ├── constants
│ │ └── memoColors.js
│ ├── index.css
│ ├── main.jsx
│ └── pages
│ ├── HomePage.jsx
│ ├── LoginPage.jsx
│ ├── MemoListPage.jsx
│ └── SignUpPage.jsx
├── .env
├── vite.config.js
├── eslint.config.js
├── index.html
├── package-lock.json
└── package.json
server
back
├── gradle
│ └── wrapper
└── src
└── main
├── kotlin
│ └── custom_memo
│ └── dev
│ └── back
│ ├── auth
│ │ ├── app
│ │ │ ├── dto
│ │ │ ├── filter
│ │ │ └── provider
│ │ ├── dao
│ │ │ └── jpa
│ │ │ └── entity
│ │ ├── domain
│ │ └── ui
│ ├── common
│ │ ├── dao
│ │ ├── dto
│ │ ├── exception
│ │ └── web
│ │ └── ui
│ ├── config
│ │ ├── dao
│ │ ├── security
│ │ │ └── annotation
│ │ └── web
│ │ └── resolver
│ └── memo
│ ├── app
│ │ └── dto
│ ├── dao
│ │ └── jpa
│ │ └── entity
│ └── ui
└── resources
-
Get URL and Port
- You can get the default URL/Port and add URL/Port on the top right.
- Move your mouse pointer over the [Preview] → [Running URL and Port] button in the menu bar (no click needed).
-
Command feature
- You can simply run your script using the shortcut icons on the top right.
- Move your mouse pointer over the [Run] → [Add run command] button in the menu bar (no click needed).
-
SSH Configuration
- This feature is only available for membership users.
- You can SSH to the Arkain container from the outside via the [Menu]->[SSH Configuration] in menu bar.
Visit https://arkain.io to support and learn more about using Arkain. To watch some usage guides, visit https://docs.arkain.io