Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cccwon2/taskify-api
Taskify API
https://github.com/cccwon2/taskify-api
nestjs postresql prisma supabase taskify taskify-api
Last synced: 1 day ago
JSON representation
Taskify API
- Host: GitHub
- URL: https://github.com/cccwon2/taskify-api
- Owner: cccwon2
- License: other
- Created: 2024-11-04T11:38:45.000Z (3 days ago)
- Default Branch: main
- Last Pushed: 2024-11-05T05:27:49.000Z (2 days ago)
- Last Synced: 2024-11-05T06:24:49.419Z (2 days ago)
- Topics: nestjs, postresql, prisma, supabase, taskify, taskify-api
- Language: TypeScript
- Homepage:
- Size: 663 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Taskify API
![NestJS](https://img.shields.io/badge/NestJS-10.0.0-E0234E?style=flat-square&logo=nestjs)
![TypeScript](https://img.shields.io/badge/TypeScript-5.1.3-3178C6?style=flat-square&logo=typescript)
![Prisma](https://img.shields.io/badge/Prisma-5.21.1-2D3748?style=flat-square&logo=prisma)
![Swagger](https://img.shields.io/badge/Swagger-8.0.1-85EA2D?style=flat-square&logo=swagger)
![PostgreSQL](https://img.shields.io/badge/PostgreSQL-Latest-4169E1?style=flat-square&logo=postgresql)
![JWT](https://img.shields.io/badge/JWT-10.2.0-000000?style=flat-square&logo=jsonwebtokens)
![Supabase](https://img.shields.io/badge/Supabase-Latest-3ECF8E?style=flat-square&logo=supabase)## π Description
Taskifyλ νμ μ μν μΉΈλ° λ³΄λ μλΉμ€μ λλ€. μ¬μ©μλ€μ λμ보λλ₯Ό μμ±νκ³ , νμλ€μ μ΄λνμ¬ ν¨κ» μμ ν μ μμ΅λλ€.
## β¨ Features
- π Authentication (JWT)
- μ΄λ©μΌ νμκ°μ /λ‘κ·ΈμΈ
- μμ λ‘κ·ΈμΈ (Google, Kakao, Naver)
- ν ν° κ°±μ
- π Dashboard Management
- λμ보λ CRUD
- νμ μ΄λ λ° κ΄λ¦¬
- π Kanban Board
- μ»¬λΌ CRUD
- μΉ΄λ CRUD
- μΉ΄λ μ΄λ―Έμ§ μ λ‘λ
- μΉ΄λ λ΄λΉμ μ§μ
- λκΈ κΈ°λ₯
- π₯ User Management
- νλ‘ν μμ
- νλ‘ν μ΄λ―Έμ§ μ λ‘λ## π Tech Stack
### Backend
- NestJS
- TypeScript
- Prisma (ORM)
- PostgreSQL
- Swagger
- JWT
- Passport### Infrastructure
- Supabase
- PostgreSQL Database
- Storage Buckets
- profiles: νλ‘ν μ΄λ―Έμ§ μ μ₯
- cards: μΉ΄λ μ΄λ―Έμ§ μ μ₯## π¦ Installation
```bash
$ npm install
```## π Running the app
```bash
# development
$ npm run start# watch mode
$ npm run start:dev# production mode
$ npm run start:prod
```## π§ͺ Test
```bash
# unit tests
$ npm run test# e2e tests
$ npm run test:e2e# test coverage
$ npm run test:cov
```## π API Documentation
API λ¬Έμλ Swaggerλ₯Ό ν΅ν΄ μ 곡λ©λλ€.
- κ°λ° νκ²½: http://localhost:5000/docs
## π§ Environment Variables
νλ‘μ νΈ μ€νμ μν΄ λ€μκ³Ό κ°μ νκ²½ λ³μκ° νμν©λλ€:
```env
# Supabase μ€μ
SUPABASE_URL="your-supabase-url"
SUPABASE_KEY="your-supabase-key"
SUPABASE_STORAGE_BUCKET_NAME="your-bucket-name"# Database μ€μ (Supabase PostgreSQL μ°κ²° λ¬Έμμ΄)
DATABASE_URL="your-postgresql-connection-string"# JWT μ€μ
JWT_SECRET="your-jwt-secret"
JWT_REFRESH_SECRET="your-jwt-refresh-secret"# ν¬νΈ μ€μ
PORT=5000# OAuth μ€μ
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
GOOGLE_CALLBACK_URL="http://localhost:3000/auth/google/callback"KAKAO_CLIENT_ID="your-kakao-client-id"
KAKAO_CLIENT_SECRET="your-kakao-client-secret"
KAKAO_CALLBACK_URL="http://localhost:3000/auth/kakao/callback"NAVER_CLIENT_ID="your-naver-client-id"
NAVER_CLIENT_SECRET="your-naver-client-secret"
NAVER_CALLBACK_URL="http://localhost:3000/auth/naver/callback"
```## π Project Structure
```
src/
βββ auth/ # μΈμ¦ κ΄λ ¨
βββ user/ # μ¬μ©μ κ΄λ ¨ (νλ‘ν μ΄λ―Έμ§ μ λ‘λ ν¬ν¨)
βββ dashboard/ # λμ보λ κ΄λ ¨
βββ column/ # μ»¬λΌ κ΄λ ¨
βββ card/ # μΉ΄λ κ΄λ ¨ (μΉ΄λ μ΄λ―Έμ§ μ λ‘λ ν¬ν¨)
βββ comment/ # λκΈ κ΄λ ¨
βββ invitation/ # μ΄λ κ΄λ ¨
βββ member/ # λ©€λ² κ΄λ ¨
βββ common/ # κ³΅ν΅ λͺ¨λ
βββ prisma/ # Prisma μ€μ
```## π License
μ΄ νλ‘μ νΈλ MIT λΌμ΄μΌμ€λ₯Ό λ°λ¦ λλ€. μμΈν λ΄μ©μ [LICENSE](LICENSE) νμΌμ μ°Έμ‘°νμΈμ.