| NIM | Nama |
|---|---|
| 13524061 | Muhammad Aufar Rizqi Kusuma |
| 13524063 | Marcel Luther Sitorus |
| 13524071 | Kalyca Nathania Benedicta Manullang |
| 13524102 | Manuel Thimoty Silalahi |
| 13524110 | Jennifer Khang |
Groddit adalah program sederhana berbasis Command Line Interface (CLI) yang terinspirasi dari Reddit. Aplikasi ini memungkinkan pengguna untuk melakukan operasi-operasi dasar yang tersedia pada aplikasi forum pada umumnya, misal membuat akun, melakukan interaksi dalam berbagai subgroddit, membuat post, membuat komentar, melakukan vote pada konten, dan fitur lainnya.
IF2110-Tubes-01/
├── README.md
├── Makefile
├── bin/ # File executable
│ └── main
├── build/ # Object files (.o)
│ ├── adt/
│ ├── core/
│ └── utils/
├── data/ # Data konfigurasi
│ └── config1/
│ ├── user.csv
│ ├── post.csv
│ ├── comment.csv
│ ├── subgroddit.csv
│ ├── social.csv
│ └── voting.csv
├── doc/ # Dokumentasi
└── src/ # Source code
├── main.c
├── adt/ # Abstract Data Types
│ ├── adt-graph/ # Graf untuk relasi sosial
│ ├── adt-list-linier/ # Linked list
│ ├── adt-sederhana/ # ADT dasar (User, Post, Comment, dll)
│ └── adt-tree/ # Tree untuk komentar
├── core/ # Logika utama aplikasi
│ ├── pengguna.c # Manajemen user
│ ├── profil.c # Fitur profil
│ ├── subgroddit.c # Manajemen subgroddit
│ ├── post.c # Manajemen post
│ ├── comment-reply.c # Komentar dan balasan
│ ├── voting.c # Sistem voting
│ ├── social.c # Fitur sosial
│ ├── save-and-load.c # Simpan dan muat data
│ └── database.c # Database global
├── header/ # Header files
└── utils/ # Utilitas
├── mesin/ # Mesin kata dan karakter
└── string/ # Operasi string
- GCC (GNU Compiler Collection)
- Make (untuk build automation)
- Terminal yang mendukung ANSI escape codes
# Kompilasi program
make# Jalankan setelah kompilasi
make run
# Atau jalankan langsung
./bin/main# Hapus object files
make clean
# Hapus executable
make clean-bin
# Hapus semua
make clean-allBerikut merupakan beberapa Command yang dapat dilakukan oleh pengguna setelah melakukan make run. Perhatikan bahwa beberapa Command hanya bisa diakses ketika memenuhi syarat Login.
| Perintah | Deskripsi |
|---|---|
REGISTER |
Mendaftarkan akun baru |
LOGIN |
Masuk ke akun |
LOAD |
Memuat data dari file konfigurasi |
QUIT |
Keluar dari program |
MENU / HELP |
Menampilkan daftar perintah |
| Perintah | Deskripsi |
|---|---|
LOGOUT |
Keluar dari akun |
PROFILE |
Melihat profil pengguna |
CREATE_SUBGRODDIT |
Membuat subgroddit baru |
VIEW_SUBGRODDIT |
Melihat post dalam subgroddit |
POST |
Membuat post baru |
VIEW_POST |
Melihat detail post |
DELETE_POST |
Menghapus post |
COMMENT |
Membuat komentar/balasan |
DELETE_COMMENT |
Menghapus komentar |
UPVOTE_POST |
Upvote post |
DOWNVOTE_POST |
Downvote post |
UNDO_VOTE_POST |
Batalkan vote post |
UPVOTE_COMMENT |
Upvote komentar |
DOWNVOTE_COMMENT |
Downvote komentar |
UNDO_VOTE_COMMENT |
Batalkan vote komentar |
FOLLOW |
Mengikuti pengguna |
UNFOLLOW |
Berhenti mengikuti |
FOLLOWERS |
Melihat daftar pengikut |
FOLLOWING |
Melihat daftar yang diikuti |
SAVE |
Menyimpan data ke file |
LOAD |
Memuat data dari file |
Institut Teknologi Bandung - Semester Ganjil 2024/2025
Sekolah Teknik Elektro dan Informatika
Jl. Ganesha 10, Bandung 40132