Fakultas Ilmu Komputer UI

README.md 2.69 KB
Newer Older
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
1
# Diskuy Backend
2

Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
3
## Tentang Aplikasi
4

Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
5
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.
6
7
8



9
10
## Cara Menjalankan Aplikasi (Development)
Cara menyalakan server Phoenix untuk aplikasi ini :
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
11

12
13
14
15
  * 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`
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
16

17
Sekarang anda bisa mengakses [`localhost:4000`](http://localhost:4000) dari browser anda.
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
18

19
Sudah ready untuk dijalankan di production? Mohon [lihat deployment guide berikut ini](https://hexdocs.pm/phoenix/deployment.html).
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
20

21
## Build Production Docker Image
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
22

23
1. Build Image dengan perintah berikujt
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
24

25
   ```docker build -t diskuy-backend .```
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
26

27
### Deploy Production
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
28

29
1. Build Docker image sesuai dengan perintah Build DockerImage diatas
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
30

31
2. Isi Environment Variable pada ``` config/docker.env``` sesuai dengan Environtment yang sudah disediakan.
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
32

33
   ```shell
34
35
   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"
36
   DATABASE_USER=postgres
37
38
39
40
41
42
43
   DATABASE_HOST=db
   DATABASE_URL=ecto://postgres:postgres@db/postgres
   PORT=4000
   HOSTNAME=localhost
   POSTGRES_PASSWORD=postgres
   LANG=en_US.UTF-8s
   ```
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
44

45
3. Jalankan command ```docker-compose up``` untuk mendeploy Backend server.
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
46

47
4. Backend server dapat diakses pada  http://localhost
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
48

49
5. Jalankan command ```docker-compose down``` untuk menghentikan server
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
50

51
52
53
54
55
56
57


## 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```)

Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
58
## Pelajari lebih lanjut
59
60
61
62
63
64

  * 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
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
65
66
67
68

## Authors
Kelompok 18

69
70
  * Fadhil Pradipta - 1806205344
  * Jonathan - 1806204985
71
  * Muhammad Rafif Elfazri- 1806205722
72
  * Ryo Axton Lie - 1806205571
Muhammad Rafif Elfazri's avatar
Muhammad Rafif Elfazri committed
73
74
75

## Acknowledgements
  * CS UI - Functional Programming 2020