Fakultas Ilmu Komputer UI

Skip to content
Snippets Groups Projects
Forked from Functional Programming / Diskuy-Backend
20 commits behind the upstream repository.
user avatar
Muhammad Rafif Elfazri authored
2a4a975a
History

Diskuy Backend

Tentang Aplikasi

Diskuy adalah sebuah aplikasi forum berbasis web. Thread-thread diskusi dengan topic yang bermacam-macam. Pengguna diwajibkan untuk mebuat akun apabila pengguna ingin mebuat topic, thread dan komen baru.

Cara Menjalankan Aplikasi (Development)

Cara menyalakan server Phoenix untuk aplikasi ini :

  • Install dependencies dengan mix deps.get
  • Setup file config/dev.exs dan isi credential username dan password user pada database postgresql.
  • Buat dan lakukan migrate pada database dengan mix ecto.setup
  • Nyalakan server Phoenix dengan mix phx.server

Sekarang anda bisa mengakses localhost:4000 dari browser anda.

Sudah ready untuk dijalankan di production? Mohon lihat deployment guide berikut ini.

Build Production Docker Image

  1. Build Image dengan perintah berikujt

    docker build -t diskuy_backend .

Deploy Production

  1. Build Docker image sesuai dengan perintah Build DockerImage diatas

  2. Isi Environment Variable pada config/docker.env sesuai dengan Environtment yang sudah disediakan.

    SECRET_KEY_BASE=REALLY_LONG_SECRET              ## Generate it with "mix phx.gen.secret"
    GUARDIAN_SECRET_KEY_BASE=REALLY_LONG_SECRET     ## Generate it with "guardian phx.gen.secret"
    DATABASE_USER=postgres
    DATABASE_HOST=db
    DATABASE_URL=ecto://postgres:postgres@db/postgres
    PORT=4000
    HOSTNAME=localhost
    POSTGRES_PASSWORD=postgres
    LANG=en_US.UTF-8s
  3. Jalankan command docker-compose up untuk mendeploy Backend server.

  4. Backend server dapat diakses pada http://localhost

  5. Jalankan command docker-compose down untuk menghentikan server

Notes

  1. System hanya membolehkan user dengan role admin untuk membuat topic. User akan otomatis mendapat role reguler saat login pertama kali ke aplikasi ini. Untuk mengganti role, mantainer app ini harap mengganti role langaung di dalam database.
  2. SECRET_KEY_BASE di generate dengan perintah mix phx.gen.secret. GUARDIAN_SECRET_KEY_BASE dapat di generate dengan perintah mix guardian.gen.secret. (Pengguna harus menginstall dependencies terlebih dahulu dengan mix deps.get)

Pelajari lebih lanjut

Authors

Kelompok 18

  • Fadhil Pradipta - 1806205344
  • Jonathan - 1806204985
  • Muhammad Rafif Elfazri- 1806205722
  • Ryo Axton Lie - 1806205571

Acknowledgements

  • CS UI - Functional Programming 2020