pyk / rojak

Project Rojak, Yuk gabung diskusi di Slack nya Rojak: http://team.rojak.id/
Other
98 stars 46 forks source link

[rojak-api] Refactor data-related code #176

Closed bobbypriam closed 7 years ago

bobbypriam commented 7 years ago

This PR is a refactoring of rojak-api's code.

Notable changes include moving data-related code ("models") from web/models/ to lib/rojak_api/data/. Selain itu, kita juga memisahkan tiap-tiap model menjadi:

  1. schema yang merupakan deklarasi Ecto.Schema
  2. query yang essentially merupakan helper/service untuk melakukan query ke database.

Motivasi dari refactor ini adalah keynote Chris McCord (19:38-21:51) tentang update pada Phoenix 1.3 (kita sedang pakai 1.2.1) yang akan menghapus konsep "models" bawaan Rails dan menjadikannya lebih Elixir-ish dengan penamaan module sesuai direktori (dan responsibility) beserta beberapa alasan lainnya. Update ini harusnya bisa memudahkan seandainya kita akan update ke versi 1.3, dan menjadikan codebase kita overall lebih clear (web/ hanya berisi kode yang berhubungan dengan web interface, ga ada data).

Satu perubahan kecil lagi: dummy index module dipindah dari / ke /v1 dan di-namespace ke V1. Biar tetep keliatan aja di api.rojak.id/v1 karena api.rojak.id/ udah buat dokumentasi 😅 Jadinya sekalian ngebump version ke 0.2.2.

All integration tests are still passing.