카테고리 없음

리드미 작성

dini_dini 2024. 5. 8. 00:52

# Sparta News Project

## Overview
Sparta News는 최신 뉴스를 제공하는 웹 애플리케이션입니다. 이 프로젝트는 Django 및 Django REST Framework를 사용하여 구현되었습니다.

## Features
- 뉴스 기사 목록 조회
- 개별 뉴스 기사 상세 조회
- 사용자 인증 (로그인, 로그아웃, 회원가입)
- 뉴스 기사에 대한 CRUD 기능 (인증된 사용자만)
- 댓글 기능

## Sparta News Project API Documentation

### User Management

- **회원가입**
  - **Method**: POST
  - **URL**: `/api/v1/signup/`
  - **Description**: 새로운 사용자를 등록하고 관련 프로필을 생성합니다.
  - **Sample Request**:
    ```json
    {
      "username": "newuser",
      "password": "password123",
      "email": "newuser@example.com"
    }
    ```

- **로그인**
  - **Method**: POST
  - **URL**: `/api/v1/signin/`
  - **Description**: 사용자 인증 후 API 접근을 위한 토큰을 제공합니다.
  - **Sample Request**:
    ```json
    {
      "username": "newuser",
      "password": "password123"
    }
    ```

- **프로필 조회**
  - **Method**: GET
  - **URL**: `/api/v1/profiles/{username}/`
  - **Description**: 주어진 사용자 이름에 대한 프로필 정보를 조회합니다.

### News Management

- **뉴스 목록 조회**
  - **Method**: GET
  - **URL**: `/api/v1/news/`
  - **Description**: 시스템에 등록된 모든 뉴스 목록을 조회합니다.

- **뉴스 생성**
  - **Method**: POST
  - **URL**: `/api/v1/news/`
  - **Description**: 새 뉴스 항목을 추가합니다.
  - **Sample Request**:
    ```json
    {
      "title": "New Article",
      "content": "Here is some content",
      "author_id": 1
    }
    ```

- **뉴스 상세 조회**
  - **Method**: GET
  - **URL**: `/api/v1/news/{id}/`
  - **Description**: 지정된 ID를 가진 뉴스 항목의 상세 정보를 조회합니다.

- **뉴스 수정**
  - **Method**: PUT
  - **URL**: `/api/v1/news/{id}/`
  - **Description**: 지정된 ID를 가진 뉴스 항목의 정보를 수정합니다.

- **뉴스 삭제**
  - **Method**: DELETE
  - **URL**: `/api/v1/news/{id}/`
  - **Description**: 지정된 ID를 가진 뉴스 항목을 시스템에서 삭제합니다.


## Getting Started
이 섹션에서는 프로젝트를 로컬 시스템에 설치하고 실행하는 방법을 안내합니다.

### Prerequisites
프로젝트를 실행하기 전에 다음 소프트웨어가 설치되어 있어야 합니다:
- Python 3.8 이상
- pip
- virtualenv (선택적)

### Installation
1. GitHub에서 프로젝트를 클론합니다:
   ```bash
   git clone https://github.com/juunsik/sparta_news.git
   cd sparta_news
2. 가상 환경을 생성하고 활성화합니다:
python -m venv venv
source venv/Scripts/activate
3. 필요한 패키지들을 설치합니다:
pip install -r requirements.txt
4. 데이터베이스 마이그레이션을 실행합니다:
python manage.py migrate
5. 개발서버를 시작합니다.
python manage.py runserver

이제 브라우저에서 http://127.0.0.1:8000/를 열어 애플리케이션을 사용할 수 있습니다.