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
-
Build Image dengan perintah berikujt
docker build -t diskuy_backend .
Deploy Production
-
Build Docker image sesuai dengan perintah Build DockerImage diatas
-
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
-
Jalankan command
docker-compose up
untuk mendeploy Backend server. -
Backend server dapat diakses pada http://localhost
-
Jalankan command
docker-compose down
untuk menghentikan server
Notes
- 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.
- SECRET_KEY_BASE di generate dengan perintah
mix phx.gen.secret
. GUARDIAN_SECRET_KEY_BASE dapat di generate dengan perintahmix guardian.gen.secret
. (Pengguna harus menginstall dependencies terlebih dahulu denganmix deps.get
)
Pelajari lebih lanjut
- Official website: https://www.phoenixframework.org/
- Guides: https://hexdocs.pm/phoenix/overview.html
- Docs: https://hexdocs.pm/phoenix
- Forum: https://elixirforum.com/c/phoenix-forum
- Source: https://github.com/phoenixframework/phoenix
Authors
Kelompok 18
- Fadhil Pradipta - 1806205344
- Jonathan - 1806204985
- Muhammad Rafif Elfazri- 1806205722
- Ryo Axton Lie - 1806205571
Acknowledgements
- CS UI - Functional Programming 2020