develop
readme
LastModifiedDate13 Oct 2024
community(2022-11)

📂 Intro

The project involves migrating and renewing the app service, which ranked 5th in the Play Store Communications and had 20,000 downloads, into a web service.


📝 Update

October 2024

  • Set up front-end deployment using Vercel and GitHub automatic deployment.
  • Set up error messages and API type configurations for the creation page.
  • Added value settings for the creation and editing pages.
  • Adjusted and modified styling.
  • Applied a default image.
  • Deployed the front end using Vercel.
  • Fixed console errors.
  • Resolved type errors.
  • Modified the date calculation logic on the group schedule page.
  • Set minimum values for the start date and end date on the group creation page.
  • Fixed ignore case-related errors in the build.
  • Migration to Next.js 14, modification of the package manager according to the version, and application of the App Router.

September 2024

  • Implemented the group schedule detail information modal.
  • Fixed bugs in the group schedule detail information modal.
  • Updated styling for the mobile group schedule.
  • Fixed the 400 error in group creation.
  • Removed unnecessary code.
  • Added thumbnail images.
  • Adjusted thumbnail sizes.
  • Added links to the cards.
  • Modified the public API.
  • Set up data synchronization for the individual page.
  • Updated image styling on the My Page.
  • Modified the group leader API depth.
  • Added an edit button for group information on the group detail page.
  • Added a group edit page and its functionalities on the group detail page.

August 2024

  • Implemented the mobile group schedule UI
  • Added the group schedule modal UI
  • Connected the group schedule creation API.

Jun 2024

  • Refactored the date-related utility functions.
  • Connected the meeting schedule API.
  • Added a date calculation function to the date utility functions.

May 2024

  • Added group schedule to the individual page.
  • Developed a date calculation utility function.
  • Implemented the schedule UI.
  • Connected the mobile writing button.

April 2024

  • The calendar list has been implemented.
  • The development of mobile SNS sharing UI has been completed.

March 2024

  • Mobile group request page UI has been implemented.
  • My page UI has been added.

February 2024

  • Completed the addition of the SNS sharing UI.
  • The header has been refactored.
  • Reactive styling has been added.
  • Storybook Babel settings have been added.
  • Refactoring of styling-related code.

January 2024

  • Comment and follow-up comment features have been implemented.
  • Modified the editor mode.

December 2023

  • Added naver login of NextAuth

November 2023

  • Completed the development of responsive page.
  • The mobile sidebar has been added.
  • Storybook has been integrated.

October 2023

  • Added The editor modal.

September 2023

  • Implemented the individual page and board.
  • Tab menus have been added to the individual page.

July 2023

  • The convention has been rearranged.
  • Completed the migration to pnpm.

February 2023


December 2022

// hook/useInput.tsx
}
const useInput: InputProps = (userInput) => {
function useInput(userInput: (str: string) => boolean) {
...
}
}
const useInput: InputProps = (userInput) => {

Before declaring the interface, I defined and used the prop type in the function.

After declaring the interface, I moved the prop type for better readability.

2022-11

const [email, setEmail] = useState('');
const [inputClicked, setInputClicked] = useState(false);
const isValidEmail = (email: string) =>
email.includes('@' && '.') && email.trim() !== '';
const showEmailError = !isValidEmail(email) && inputClicked;
const changeValue = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
const resetInput = () => {
setEmail('');
setInputClicked(false);
};
const changeValue = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {

The logic for the input tag where users enter data was being repeated a lot. After discussing with a team member how to reuse this logic, I created a custom hook to simplify things.

I created a custom hook called ‘useInput’, which removed the repetitive logic from both the membership and login pages, making the code much easier to read.

© 2024

Park Gadan

33°06'56.2"-38°34'03.5"