πΌ ν΄λ‘ μ¬μ΄νΈ : My real trip
πΌκΈ°κ° : 2021.05.24 - 2021.06.04
πΌ νꡬμ±
Wa:tta Taxi final result: Click here!
- λͺ©ν
- λͺ¨λΈλ§ (βοΈ)
- νμκ°μ & μμ λ‘κ·ΈμΈ
- filtering & sorting api (βοΈ)
- searching api (βοΈ)
- taxi company, taxi driver list & detail api
- review api
π€‘ μνμ ?
1. filtering ꡬν.
filteringμ΄ μ λ§ μ€μνμ§λ§ μ¬μ΄ ꡬνμ¬νμ΄ μλλΌκ³ νμ ¨λλ°, μ΄μ°λμλ sortingκ³Ό filteringμ ꡬννλ€λ κ²μ λν΄ μΉμ°¬νλ€. λͺλ λ©°μΉ μ κ³ λ―Όνλ©° μ¨λ¦νλλ° λ§μ λΆλ€μ λμμ΄ μμλ€. μ΄λμ λΆν° μ΄λλ₯Ό λλκ³ μ΄λκΉμ§ νν°λ§μ ν΄μΌνλμ§ μμκ°λ κ³Όμ μμ Qμ λν΄μλ 곡λΆνκ³ , request.GET, sort, lookupν¨μμ λν΄μλ μ€μ λ‘ νμ©νλ©΄μ μ¨λ³Ό μ μμλ€. λΏλ―!
2. μ’ λ νΈμν΄μ§ λ°±-λ°±, λ°±-ν μν΅
1μ°¨ νλ‘μ νΈλ³΄λ€λ νμ€ν μ’ λ νΈν΄μ‘λ€. 1μ°¨λλ 'μν΅'μ΄λ λ¨μν λ°±μλμ νλ‘ νΈμλ μ¬μ΄ μν΅λ§μ μλ―Ένλ κ²μ΄λΌκ³ μκ°νλλ°, 2μ°¨λλ λμ μΌμνκ³ νμ νλ λͺ¨λ μ΄λ€κ³Όμ 'μν΅'μ μ΄μ μ λμλ€. κ·Έ κ³Όμ μμ, 'μ΄λ»κ² νλ©΄ μ μ¬λμ΄ μ’ λ νΈνκ² μΌν μ μκ² λ΄κ° λμΈ μ μμ§?'μ λν΄ λ§μ΄ μκ°νκ² λμλ€. μ€μ λ‘ κ·Έλ κ² λμμ£Όμ§ λͺ»ν κ² κ°μ§λ§, κ·Έλλ μ΄λ° νλλ₯Ό κ°λ κ²μ΄ μ€μνλ€κ³ λκΌλ€. λͺ¨λ μ΄λ€μ 보νμ΄ λ¬λΌμ κ·Έ 보νμ λ§μΆ° μΌνλ κ²μ΄ μ€μν¨μ λ€μ ν λ² κΉ¨λ¬μλ€.
π€‘ μ΄λ €μ λ μ ?
1. μ€λ₯μμ νν¬.
dataλ₯Ό 64,800κ°λ₯Ό λ£μ΄λμ κ·Έλ°μ§ λ£μ΄λ λ°μ΄ν°λ₯Ό νν°λ§ν λ νν°λ§μ΄ μ λλμ§ νμΈνλκ² μ λ§ μ΄λ €μ λ€. κ·Έλμ λλ‘μ λͺλ²μ΄λ νμλλ°, κ·Έ κ³Όμ μμ μκ°μ κ΅μ₯ν λ§μ΄ λ²λ Έλ€. λ μ§, μκ°, νμ νμ¬, νμ λλΌμ΄λ², μ’μ μ’ λ₯ λ±λ± νν°λ§ ν κ²λ€μ΄ λ무 λ§μμ μ΄κ²λ€μ νλμ© νμΈνλ©° μ¨κ° μ€λ₯μ μΈμ°λ μ λ§ μ§μ΄ λ€ λΉ μ‘λ€. μ§λλ₯Ό λΉΌμ§λ λͺ»νκ² νν°λ§ Q νλνλ ν λλ§λ€ λμ€λκΉ μ λ§ ν¬κΈ°νκ³ μΆμλλ°... μ λ§ λλ₯Ό μΉμ°¬νλ€.
2. λΉν¨μ¨μ μΈ λ¬Έμ ν΄κ²° λ°©λ²
λ¬Έμ μν©μμ λ¬Έμ λ₯Ό μ§λ©΄νλ λ°©λ²μ μ λ§ λ€μνλ€. μ‘°κΈ μμ¬μ λ λΆλΆμ λ΄κ° μ§λ©΄ν λ¬Έμ μμΈμ λν μ νν νμ μμ΄ λ¬΄ν±λλ‘ λνκ·Έλ € ν΄κ²°νλ €κ³ νλ μ μ΄λ€. κ³ λ €ν΄μΌν μ¬νλ€μ΄ μ λ§ λ무 λ§μλ€. κ·Έλ λ€λ³΄λ μ΄λμλΆν° μ΄λκΉμ§κ° λ¬Έμ μΈμ§ μ΄λκΉμ§λ μλμ λ¬Έμ κ° μλμ§, κ²°λ‘ μ μΌλ‘ λ¬Έμ κ° λ¬΄μμΈμ§ νΉμ ν μ μμκ³ λΉν¨μ¨μ μΌλ‘ μκ°μ 보λ΄κ² λμλ€. λ¬Έμ μν©μμ λ΄κ° μ§λ©΄ν λ¬Έμ κ° λ¬΄μμΈμ§ νμ νκ³ κ·Έκ²μ μμΈμ μΈλΆν μμΌμ κ°κ°μ ν΄κ²°λ°©λ²μ μ°Ύμλ€λ©΄ μκ°κ³Ό λ Έλ ₯μ μ μ½ν μ μμμ κ² κ°μλ° μ΄ λΆλΆμ΄ μ¬μ ν μμ½λ€.
3. μ§μ€ν μ μμλ λΈλ‘컀λ€
νλ‘μ νΈ μ€κ°λ§λ€ μλ‘κ² λ°°μμΌνλ μ¬λ¬ μΈμ λ€λ‘ μΈν΄ λ΄ λ§μμ΄ λΆμ£Όνλ€. git rebase, docker λ± λ΄ μ μ μ λΆμ°μν€λ κ²λ€λ‘ νκ³μλ νκ³κ±°λ¦¬κ° μ μ λμ΄κ°λ€. μ΄ν΄λ μλλλ° μ§κΈ λΉμ₯ μ¬μ©ν΄μΌνλ€κ³ νλ μ€νΈλ μ€κ° λμ΄κ°λ€. κ±°κΈ°μ 체λ ₯κΉμ§ μλ°μ³μ£Όλ μμν λ§μμ μκΎΈ λλ§κ°κ³ μΆμλ€. κ·Έλ μ§λ§ ν¨κ» ν΄μ€ λ°±μλλ¨ μ건λμ λμμΌλ‘ λ§μμ μ‘κ³ μ리λ₯Ό λ¨μ§ μμ μ μμλ€. μΌλ¨ λκ° λμλ μ리λ₯Ό λ¨μ§ μκ³ λ΄ ν μΌμ λλ§μΉλ κ². λ΄ μ½λμ λ΄κ² ν λΉλ μΌμ μ± μκ°μ κ°μ§λ κ². λΈλ‘컀λ€λ‘ λΆν° λ΄κ° λ°°μ΄ κ²μ΄λ€.
π€‘ κΈ°λ‘νκ³ μΆμ μ½λ!
schedules = Schedule.objects.filter( Q(date=departure_date) & Q(seat_type__name=seat_type) & Q(course_id__in=[course.id for course in courses]) & Q(seat_remain__gte = seat_remain) & Q(price__lte=price) & Q(course__taxi_company__name__in = taxi_company) & Q(course__departure_time__lte = departure_time)).order_by(sort_string)
π€‘ 2μ°¨ νλ‘μ νΈλ₯Ό λ§μΉλ©°..
μλ°νμ νλ‘μ νΈλ μμλΆν° μ°λ¦¬κ° μ§μ κ³νν 컨μ μΌλ‘ μ§ννλ νλ‘μ νΈμκΈ°μ μ ννκ³ μ¬λμ€λ¬μ λ€. κ·Έλ¬κΈ°μ 맀μΌμ΄ μ¬λ°κ³ μ λ¬μ§λ§ μνλ λ§νΌ λ°λΌμ£Όμ§ μλ μ§νκ³Όμ κ³Ό λ΄ μλμ κ΄΄λ‘κ³ λ κ΄΄λ‘μ λ€. λ΄λΆ, μΈλΆ blocker λ€λ‘ λΆμ£Όνλ 2μ£Όμλ€. 체λ ₯μ μΈ νκ³μ μλ‘μ΄ λ¬Έλ²λ€μ΄ λ΄ λ§μμ λμ± λΆμ£Όνκ² νλ€. μν κ³Ό νν°λ§, μ€λλ§μλ§ μ€λ‘―μ΄ λ§€μ§ν΄λ μ€λ₯ λλΆμ ^ ^ κ΄ν κ²μ μκ°μ λΉΌμκΈ°λ κ² κ°μ μμνκ³ λΉν©μ€λ¬μ λ€.
μμ§ κΈ°μ΄κ° νννμ§ λͺ»ν λ΄ μ€λ ₯λλ¬Έμ λκΈ°λ€κ³Ό λ©ν λλ€μ λμμ λ¬λΏ- λ°μΌλ©° νλ‘μ νΈλ₯Ό μ§ννλλ° μμνλ©΄μλ κ³ λ§κ³ μ’μΌλ©΄μλ μ«μλ€. 2μ°¨λ₯Ό νλ©° κ°λ°κ³Ό μ½λ©μ΄ λ΄ μΆμ μ‘°κΈμ© μ€λ©°λλ κ² κ°μμ μ κΈ°νλ©΄μλ 'μ΄κ² λ§λκ±ΈκΉ?'νλ μꡬμ¬μ΄ λ€κΈ°λ νλ€.
κ·ΈλΌμλ νμ νλ κ²μ, μ°λ¦¬ νμ μ΄ νλ‘μ νΈλ₯Ό μ λ§λ¬΄λ¦¬ ν μ μμ κ²μ΄λΌλ κ²μ΄μλ€. μ°λ¦¬ νμ λꡬ ν λͺ μ΄ νΉμΆλμ§λ μμκ³ , κ²½μ£Όλ§ μ€νμΌμ νμμ΄ μλ κ²λ μλμλ€. κ·ΈμΉλ§ νλ‘ νΈμ λ°±μ ν©μ΄ μ λ§ λ무 μλ§μμ μ΄ μλμ§λ‘ κ° νμ λ΄λΆμ μλ λΆμν¨μ΄λ λΆμ μ μΈ μμλ€μ μ νμ΄κ°λ©° μ½λλ₯Ό 지 μ μμλ€. λ§λ₯ μΉμ νκ² λνλ€κ±°λ, μ’μ μ΄μΌκΈ°λ§μ νμ§ μμ κ²λ μ¬μ€μ΄λ€. κ°λμ λ€κ·ΈμΉκ³ 보μ±κ³ λΌλ리λ λ§λ€μ 건λ€λ©° μλ‘μ μ μ 건κ°μ μ΄νΌκΈ°λ νλ€. μ°λ¦¬μ νλ‘μ νΈλ μ λ§ μ½μ§ μμμ§λ§ ν¨κ» μΌνλ κ²μ΄ μ λ§μ΄μ§ λ무- μ¦κ±°μ λ€.
λ μΈμ κ° μ΄λ κ² μ¬λ―Έμκ², μ λκ² μ½λ©μ, νλ‘μ νΈλ₯Ό νλ λ μ΄ μ¬κΉ? μ½λ©λΏλ§μ΄ μλλΌ λ νλ² ν¨κ» μΌνλ κ²μ΄ 무μμΈμ§. μλ‘μ΄ μκ°μΌλ‘ λ°°μ΄ μκ°μ΄μλ€. λ€μ ν λ² λ΄κ² κΈμ μ μΈ μκ·Ήμ μ€ μλ°νμ νμκ² κ³ λ§μμ μ νλ€. μ΄λ€ νμμΌλ‘ μμ΄μΌνλμ§, μ΄λ€ κ°λ°μκ° λμ΄μΌνλμ§ μμ£Ό μ¦κ±°μ΄ λ°©λ²μΌλ‘ λ΄κ² μλ €μ€ κ² κ°μ κ³ λ§μ΄ λ§μμ΄λ€.
μ¬λν΄μ ! λ°μν ! β€οΈ