작업 카운터 v2.0 업데이트

이전 게시물에서 제공한 제안 덕분에 작업 카운터 프로젝트를 업데이트했습니다.

이것이 결과입니다.
https://fontawesome.com/의 아이콘을 추가하여 프로젝트 모양을 멋지게 만들고 보너스 포인트에 대한 활동 유형 필드를 추가했습니다.




녹색 확인 표시를 어떻게 넣었는지 궁금하시면 다음 게시물을 확인하세요.

이제 활동 유형을 선택하여 보너스 포인트를 얻을 수 있습니다.



각 유형에 대한 보너스 포인트:
  • 기타, +5 포인트
  • 커리어, +25 포인트
  • 이전 유형을 제외한 모든 항목, +15 포인트

  • 코드는 다음과 같습니다.

    public function index(Request $request)
        {
            $acts = DB::table('activities')->orderBy('id')->cursorPaginate(10);
    
            $counter = DB::table('activities')
                ->select(DB::raw('SUM(time * rating) AS point'))
                ->first();
    
            //collecting bonus point from activity with Career type
            $bonus_career= DB::table('activities')
                ->select(DB::raw('COUNT(type)*25 AS point'))
                ->where('type', "Career")
                ->first();
    
            //collecting bonus point from activity other than Career and other type
            $bonus_else= DB::table('activities')
                ->select(DB::raw('COUNT(type)*15 AS point'))
                ->where('type','!=',"Career")
                ->where('type','!=',"Other")
                ->first();
    
            //collecting bonus point from activity with Other type
            $bonus_other= DB::table('activities')
                ->select(DB::raw('COUNT(type)*5 AS point'))
                ->where('type', "Other")
                ->first();
    
            //sum all collected point + bonus point
            $allPoints=$counter->point+$bonus_career->point+$bonus_else->point+$bonus_other->point;
    
            if($allPoints<1000){
                $request->session()->put('quote', "You're just started, let's go!");
            }else if($allPoints<2000){
                $request->session()->put('quote', "Not bad, for a newbie!");
            }else if($allPoints<4000){
                $request->session()->put('quote', "Nice, keep it up!");
            }else if($allPoints<8000){
                $request->session()->put('quote', "You're pretty good, don't get cocky though!");
            }else if($allPoints<16000){
                $request->session()->put('quote', "Great job, what a chad!");
            }else if($allPoints<32000){
                $request->session()->put('quote', "Excellent, your highness!");
            }else if($allPoints>=100000){
                $request->session()->put('quote', "You're a God!");
            }
    
            $request->session()->put('point', $allPoints);
            return view('activities',['acts'=>$acts]);
        }
    


    따라서 $allPoints의 공식은 다음과 같습니다.
    SUM(시간*등급)+적립 보너스 포인트

    네, 알아요. 코드가 훨씬 덜 단순화되어 있어 보기가 불편합니다. 코드를 단순화하는 방법을 아는 사람이 있으면 의견에 알려주십시오.

    이것이 제가 작업한 업데이트입니다. 비록 디자인을 잘하는 편이 아니라서 프로젝트의 모습이 조금 부족하긴 하지만요. 나는 프론트엔드보다 백엔드에 가깝다.

    Task Counter에 대한 개발 아이디어가 있다면 알려주세요.

    좋은 웹페이지 즐겨찾기