diff --git a/README.md b/README.md index 74872fd4..d1a28492 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,224 @@ -# React + TypeScript + Vite +![logo (1)](https://github.com/user-attachments/assets/d9401607-dc2f-46c4-bbf3-54c370e7ebd7) -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. +# **DevPals** -Currently, two official plugins are available: +> ### 주요 서비스 : 초보자도 두려움 없이 원하는 사이드 프로젝트를 쉽게, 함께 할 수 있도록 도와주는 서비스
+> +>
-- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh +### 🌱 함께 성장하는 개발자 커뮤니티, Devpals! 🌳 -## Expanding the ESLint configuration +개발을 공부하면서도, 막상 사이드 프로젝트를 시작하려면 "아직 나에게는 무리일 것 같은데...", "팀 프로젝트는 어떻게 시작해야 하지?" 하는 고민이 들곤 합니다. +Devpals는 주니어 개발자가 부담 없이 프로젝트에 참여하고, 경험 많은 시니어들과 함께 성장할 수 있도록 돕는 서비스입니다. -If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: +새싹 멤버로 시작해 프로젝트 경험을 쌓고, 점차 성장하며 나무 멤버가 되기까지, Devpals가 당신의 개발 여정을 함께합니다! +
+
-- Configure the top-level `parserOptions` property like this: +### 🙋🙋‍♂️ 함께 만드는 사람들 -```js -export default tseslint.config({ - languageOptions: { - // other options... - parserOptions: { - project: ['./tsconfig.node.json', './tsconfig.app.json'], - tsconfigRootDir: import.meta.dirname, - }, - }, -}) +#### 프론트엔드 + +| [고홍비](https://github.com/HongbiKo) | [임형준](https://github.com/hyeongjun6364) | [신유지](https://github.com/YouD0313) | [조승연](https://github.com/layout-SY) | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| | | | | +|

FE

|

FE

|

FE

|

FE

| + +#### 백엔드 + +| [김현희](https://github.com/Kim-Hyunhee) | [김난영](https://github.com/Algoruu) | +| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | +| | | +|

BE

|

BE

| + +
+ +### 🗓 개발 기간 + +✨ 2024.12.26 - 2024.02.03 (1차 배포) + +
+ +### 🍏 배포 주소 + +#### [Devpals](http://devpals.s3-website.ap-northeast-2.amazonaws.com/) + +
+ +### 🗒 프로젝트 자료 + +#### [Devpals Note](https://www.notion.so/hongbiko/DevPals-16c20168cf19808896e5e04a404e8eb8?pvs=4) + +
+ +### 💡 시작 가이드 + +
+👉 프론트엔드 +
+ +#### 📍 실행 환경 + +- Node.js 20.18.1 +- `.env 파일`에 아래의 항목들이 있어야 합니다. + + - `VITE_APP_API_BASE_URL` : 서버 주소 + - `VITE_APP_IMAGE_CDN_URL` : 이미지 CDN 주소 + +#### 📍 프로젝트 실행 + +- 프로젝트 클론 + +```bash +$ git clone https://github.com/D3vPals/frontend.git +``` + +- 의존성 설치 + +```bash +$ npm install ``` -- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked` -- Optionally add `...tseslint.configs.stylisticTypeChecked` -- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config: - -```js -// eslint.config.js -import react from 'eslint-plugin-react' - -export default tseslint.config({ - // Set the react version - settings: { react: { version: '18.3' } }, - plugins: { - // Add the react plugin - react, - }, - rules: { - // other rules... - // Enable its recommended rules - ...react.configs.recommended.rules, - ...react.configs['jsx-runtime'].rules, - }, -}) +- 실행 + +```bash +$ npm run dev +``` + +
+
+ +
+👉 백엔드 + +
+ +#### [백엔드 실행 가이드](https://github.com/D3vPals/backend?tab=readme-ov-file#%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0) + +
+
+ +
+ +### 💥 배포 구성도 + + +
+ +### ⌨️ 기술 스택 + +#### 백엔드 + +![NestJS](https://img.shields.io/badge/nestjs-%23E0234E.svg?style=for-the-badge&logo=nestjs&logoColor=white) ![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white) ![MySQL](https://img.shields.io/badge/mysql-4479A1.svg?style=for-the-badge&logo=mysql&logoColor=white) ![Prisma](https://img.shields.io/badge/Prisma-3982CE?style=for-the-badge&logo=Prisma&logoColor=white) ![Swagger](https://img.shields.io/badge/-Swagger-85EA2D?style=for-the-badge&logo=swagger&logoColor=white) + +#### 프론트엔드 + +![React](https://img.shields.io/badge/react-%2320232a.svg?style=for-the-badge&logo=react&logoColor=%2361DAFB) +![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white) +![Zustand](https://img.shields.io/badge/zustand-%23181717.svg?style=for-the-badge&logo=zustand&logoColor=white) +![StyledComponent](https://img.shields.io/badge/Styled_Components-DB7093?style=for-the-badge&logo=styled-components&logoColor=white) +![React Query](https://img.shields.io/badge/-React%20Query-FF4154?style=for-the-badge&logo=react%20query&logoColor=white) + +#### AWS + +![AWS](https://img.shields.io/badge/AWS-232F3E.svg?style=for-the-badge&logo=amazonwebservices&logoColor=white) ![AWS RDS](https://img.shields.io/badge/AWS%20RDS-527FFF.svg?style=for-the-badge&logo=amazonrds&logoColor=white) ![AWS S3](https://img.shields.io/badge/AWS%20S3-569A31.svg?style=for-the-badge&logo=amazons3&logoColor=white) + +#### CI/CD + +![AWS EC2](https://img.shields.io/badge/AWS%20EC2-FF9900.svg?style=for-the-badge&logo=amazonec2&logoColor=white) ![PM2](https://img.shields.io/badge/pm2-2B037A.svg?style=for-the-badge&logo=pm2&logoColor=white) ![Nginx](https://img.shields.io/badge/nginx-009639.svg?style=for-the-badge&logo=nginx&logoColor=white) ![GitHub Actions](https://img.shields.io/badge/GitHub%20Actions-2088FF.svg?style=for-the-badge&logo=githubactions&logoColor=white) + +#### 협업 도구 + +![Slack](https://img.shields.io/badge/Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white) +![Notion](https://img.shields.io/badge/Notion-%23000000.svg?style=for-the-badge&logo=notion&logoColor=white) + +
+ +### 📂 폴더 구조 + +
+👉 프론트엔드 +
+ +``` +src/ +├── api/ # API 호출 및 관련 로직 +├── assets/ # 이미지 및 정적 파일 +├── constants/ # 상수 관련 파일 +├── hooks/ # 커스텀 훅 +├── context/ # 콘텍스트 관련 파일 +├── models/ # 페이지별 타입 파일 +├── mocks/ # Mock 데이터 +├── pages/ # 페이지 컴포넌트 +├── routes/ # 라우트 설정 +├── store/ # 상태 관련 파일 +├── styles/ # 스타일 관련 파일 +├── components/ # UI 컴포넌트 (컴포넌트별 스타일 파일과 함께 정리) +└── utils/ # 유틸리티 함수 및 모듈 ``` + +
+
+ +
+👉 백엔드 +
+ +#### [백엔드 폴더구조](https://github.com/D3vPals/backend?tab=readme-ov-file#%ED%8F%B4%EB%8D%94-%EA%B5%AC%EC%A1%B0) + +
+
+ +
+ +### 🖥 화면 구성 + +| 메인 페이지 | +| ----------- | + +| + +| 프로젝트 상세페이지 | 지원하기 페이지 | 모집공고 작성 페이지 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | | + +| 로그인 페이지 | 회원가입 페이지 | 비밀번호 재설정 페이지 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | | + +| 모집 공고 관리 페이지 | 지원자 리스트 페이지 | 합/불합 리스트 페이지 | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | | + +| 마이 페이지(프로필) | 마이 페이지(참여 프로젝트 현황) | 마이 페이지(지원 프로젝트 현황) | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | | + +| 유저 페이지(프로필) | 유저 페이지(참여 프로젝트 현황) | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| | | + +
+ +### ⭐️ 주요 기능 + +- 프로젝트 모집 공고 후 지원자 합/불 기능 + + - 지원자의 정보를 확인하고 합격/불합격을 결정하여 팀을 구성할 수 있습니다. + - 추후 알림 기능을 추가하여 실시간으로 합격 여부를 확인할 수 있도록 개선할 예정입니다. + +- 편리한 필터 기능 제공 + + - 메인 페이지에서 기술 스택, 포지션, 진행 방식, 새싹 여부, 검색 기능을 활용해 원하는 모집 공고를 쉽게 찾을 수 있습니다. + +- 마이페이지 커스텀 기능 + + - 마이 페이지에서 자신의 정보를 직접 수정해 어필할 수 있습니다. + - 추후 포트폴리오 관리 기능을 추가하여 포트폴리오를 관리 할 수 있도록 할 예정입니다. + +- 마크다운 지원 모집 공고 작성 + - 모집 공고 작성 시 마크다운을 지원하여 원하는 형식으로 자유롭게 작성할 수 있습니다. + +
+ +