Skip to content

parkuskus/Groddit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

256 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IF2110-Tubes-01

Tugas Besar IF2110 - Algoritma dan Struktur Data - Subgroddit


Anggota Kelompok

NIM Nama
13524061 Muhammad Aufar Rizqi Kusuma
13524063 Marcel Luther Sitorus
13524071 Kalyca Nathania Benedicta Manullang
13524102 Manuel Thimoty Silalahi
13524110 Jennifer Khang

Daftar Isi


Deskripsi

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.


Struktur Direktori

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

Cara Kompilasi

Requirements

  • GCC (GNU Compiler Collection)
  • Make (untuk build automation)
  • Terminal yang mendukung ANSI escape codes

Kompilasi

# Kompilasi program
make

Menjalankan Program

# Jalankan setelah kompilasi
make run

# Atau jalankan langsung
./bin/main

Membersihkan Build

# Hapus object files
make clean

# Hapus executable
make clean-bin

# Hapus semua
make clean-all

Daftar Perintah

Berikut merupakan beberapa Command yang dapat dilakukan oleh pengguna setelah melakukan make run. Perhatikan bahwa beberapa Command hanya bisa diakses ketika memenuhi syarat Login.

Sebelum 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

Setelah Login

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

About

Groddit adalah program sederhana berbasis Command Line Interface (CLI) yang terinspirasi dari Reddit.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors