Giter Site home page Giter Site logo

modernpug / modernpug.org Goto Github PK

View Code? Open in Web Editor NEW
24.0 8.0 11.0 18.08 MB

Modern PHP User Group 홈페이지 입니다

Home Page: https://modernpug.org

License: MIT License

PHP 57.80% Vue 0.07% Blade 42.13%
php php7 laravel modern-php usergroup homepage

modernpug.org's Introduction

modernpug.org

PRs Welcome GitHub issues GitHub StyleCI codecov

https://modernpug.org의 소스코드를 관리하기 위한 프로젝트입니다

프로젝트 설치

요구사항

  • php
    • composer.json의 require 참조
  • database
    • mysql 5.7

Install

  • git clone https://github.com/ModernPUG/modernpug.org.git
  • cd modernpug
  • chmod 777 bootstrap/cache
  • chmod -R 777 storage
  • composer install --no-scripts
  • cp .env.example .env
  • php artisan key:generate.env 하단의 환경설정하기를 참고하여 수정
  • cp .env.testing.example .env.testing.env.testing 내용을 테스트 환경에 맞게 수정
  • php artisan migrate
  • php artisan db:seed
  • php artisan passport:install

환경설정하기

기본

APP_NAME=Laravel
APP_ENV=local #개발환경은 local을 그대로 둡니다
APP_KEY=#키는 `php artisan key:generate`를 통해 자동생성 됩니다
APP_DEBUG=true
APP_URL=http://modernpug.org #개발하면서 사용할 URL을 입력합니다

Mysql

  • dotenv에서 설정한 스키마를 생성해 준다. 기본값이 laravel 이며, 변경 가능하다.
DB_DATABASE=laravel
  • 최초 설정시 dotenv 를 통해 설정한 스키마(기본 laravel)를 생성해 준다.
  • php artisan migrate 수행 이전에 실행되어야 한다.
mysql> create database laravel;

Captcha

  • https://www.google.com/recaptcha
  • 새 사이트 등록 (reCAPTCHA v3 발급)
    • 아래의 내용을 참고하여 .env를 수정해줍니다
      • GOOGLE_RECAPTCHA_KEY=사이트키
      • GOOGLE_RECAPTCHA_SECRET=비밀키

Sentry

  • https://sentry.io/
  • 새 조직 생성
  • 라라벨로 신규 프로젝트 생성
  • 하단에 표시되는 SENTRY_LARAVEL_DSN=https://[email protected]/~~~~의 형태로 표시되는 DSN을 복사 후 .env에 추가/수정

Slack

  • https://slack.com/

  • 새로운 워크스페이스 생성

  • https://api.slack.com/apps

  • Create New App 을 통해 신규 앱 생성

  • Oauth

    • OAuth & Permissions -> Redirect URLs
      • https://modernpug.org/login/slack/callback 와 같이 자신의 도메인에 맞는 콜백 주소 추가
    • 아래의 내용을 참고하여 .env를 수정
      • SLACK_CLIENT_ID=Basic Information의 Client ID
      • SLACK_CLIENT_SECRET=Basic Information의 Client Secret
      • SLACK_CLIENT_REDIRECT_URI=https://modernpug.org/login/slack/callback
  • Incoming Webhooks

    • Incoming Webhooks -> Add New Webhook to Workspace
    • 생성된 url을 .env파일 내 SLACK_WEBHOOK_URL값에 추가
  • Slash Commands

    • Slash Commands -> Create New Command

Email

공식 매뉴얼 또는 구글에서 laravel aws seslaravel mailgun 등 검색 후 참고

Tag Manager

태그매니저는 Google Analytics 등을 조금 더 효율적으로 관리하기 위한 툴입니다. 태그매니저를 등록 후 Google Analytics를 사용하는 것은 별도의 문서를 참고하시기 바랍니다

  • https://tagmanager.google.com/
  • 계정 생성(일종의 회사 or 조직 or 그룹) -> 컨테이너 생성 (관리대상이 될 사이트)
  • 생성된 컨테이너 ID를 .env 파일 내 TAG_MANAGER에 추가

Resource Build

  • npm ci
  • npm run watch or npm run prod

관리자 계정 등록

  • 웹사이트에서 Register 메뉴를 이용해 일반 회원가입
  • php artisan user:assign-role 을 이용해 관리자 권한 등록

Testing

  • .env.testing.example 파일을 복사하여 .env.testing 파일을 생성하고 테스트 환경을 수정해주세요
  • 일부 마이그레이션과 쿼리로 인해 sqlite는 지원하지 않으니 mysql을 사용해주세요
    • 추후 관련기능 수정예정
./vendor/bin/phpunit

Contributing

Support

License

modernpug.org's People

Contributors

dependabot[bot] avatar kkame avatar smartbos avatar stylecibot avatar tael avatar terrorboy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

modernpug.org's Issues

페이스북 정기모임 데이터 연동

  1. 페이스북 이벤트 페이지 데이터에서

오늘보다 이후 날짜의 정기모임이라는 단어가 들어간 이벤트를 조회하여

있을 경우 관련 공지사항 노출

  1. 위의 기능이 정상 동작이 가능하다면 메인페이지 하단에 나오는 최근 3개의 정기모임 이벤트 안내를 해당 내역으로 대체

추천사이트/강좌 공유 기능 추가

추천사이트/강좌 공유

  • 모든 유저는 추천 사이트의 링크를 등록할 수 있다
  • 모든 유저는 해당 링크에 추천과 비추천을 할 수 있다
  • 추천순으로 순위를 정렬한다
  • 관리자는 스팸자료를 삭제 할 수 있다
  • 추천보다 비추천수가 많다면 목록에서 제외하고 보여준다
    • 목록에서 제거 되는 상황에서는 사용자에게 다시 한번 확인한다
    • 동시에 비추천을 입력하여 사용자에게 재확인을 받지 못했다면 다음 비추천 때 확인 후 제거한다

주간 인기글 선정 가중치 추가

현행 문제점

  • 장기간 노출되며 조회수가 많을 경우 계속해서 인기글에 추가됨
  • 신규로 등록된 글이 인기를 끌었음에도 불구하고 순위에서 밀림

개선 예정

  • 기간에 따른 가중치 추가
    • 현재 생각은 조회수/게시일의 값을 기준으로 정렬
  • 기타 가중치 추가 기능 필요
    • ex: 관리자의 가산 포인트, 카테고리별 가중치 추가

블로그 관리기능 추가

  • 내가 등록한 블로그 리스트 보기 추가
  • 등록한 글 리스트 보기 추가
    • 게시글 일괄 삭제 (softDelete)
    • 선택글 삭제 추가

사이트 컬러 컨셉 정리

사이트의 전체적인 컬러가 좋게 말하면 개발자답고 나쁘게 말하면 개발자스러워 보입니다.
(버튼, hover 색상 등등)

컬러 컨셉을 명확히 정한 뒤 적용시키면 좋을 것 같습니다.

신규 홈페이지의 제공 기능 및 컨셉 정리

컨셉

  • php 개발과 관련된 블로그 정보를 제공합니다 (기존 allblog와 통합)
  • php에 관련한 구인 구직 정보를 제공합니다
  • php와 관련한 개발 지식을 모아서 보여줍니다
  • 공식 슬랙 초대장 발송을 합니다
  • 후원사의 정보를 제공합니다
  • 운영진 정보를 제공합니다

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.