Skip to content

jsndwrd/Blueddit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

171 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blueddit

CLI-based Reddit-inspired application written in C.

Project Directory:

if2110-tubes-2025-k01-g-1/
├── README.md
├── Makefile
├── .gitignore
├── bin/                          # Compiled executables
├── build/                        # Object files (.o)
├── src/                          # Source files
│   ├── main.c
│   ├── main.h
│   ├── adt/                      # Abstract Data Types
│   ├── core/                     # Core application logic
│   └── utils/                    # Utility functions
├── config/                         # Configuration files
└── docs/                         # Documentation

Authors

No Nama NIM
1 Stevanus Agustaf Wongso 13524020
2 Nicholas Wise Saragih Sumbayak 13524037
3 Jason Edward Salim 13524034
4 Mahatma Brahmana 13524015
5 Anindya Naufal Pinasthika 13524013

Project Features & Usage

Initialization

  • LOAD: Memuat state Groddit dari folder konfigurasi (saat belum login).
  • NEW: Memulai state kosong tanpa memuat konfigurasi apa pun.

Authentication

  • REGISTER: Membuat akun baru dengan username unik serta password valid.
  • LOGIN: Masuk ke akun pengguna.
  • LOGOUT: Keluar dari akun aktif.

Session Management

  • HELP: Menampilkan daftar perintah yang tersedia.
  • SAVE: Menyimpan state Groddit ke folder konfigurasi.
  • QUIT: Keluar dari program Groddit.

Profile

  • PROFILE <USERNAME>: Menampilkan profil lengkap pengguna tertentu.

Social

  • FOLLOW <USERNAME>: Mengikuti pengguna lain.
  • UNFOLLOW <USERNAME>: Berhenti mengikuti pengguna lain.
  • FOLLOWERS <USERNAME>: Menampilkan daftar pengikut dari pengguna tersebut.
  • FOLLOWING <USERNAME>: Menampilkan daftar pengguna yang diikuti.

Subgroddit

  • CREATE_SUBGRODDIT <NAME>: Membuat Subgroddit baru (harus unik dan diawali r/).
  • VIEW_SUBGRODDIT <NAME> <MODE> <ORDER>: Menampilkan daftar post dalam Subgroddit sesuai mode (HOT/NEW) dan urutan.

Post

  • POST: Membuat postingan baru di Subgroddit.
  • VIEW_POST <POST_ID>: Menampilkan detail sebuah post beserta komentar-komentarnya.
  • DELETE_POST <POST_ID>: Menghapus post milik sendiri (cascading delete).

Comment

  • COMMENT <POST_ID> <COMMENT_ID>: Menambah komentar baru atau reply ke komentar lain.
  • DELETE_COMMENT <POST_ID> <COMMENT_ID>: Menghapus komentar milik sendiri beserta seluruh reply.

Voting

  • UPVOTE_POST <POST_ID>, DOWNVOTE_POST <POST_ID>, UNDO_VOTE_POST <POST_ID>: Voting pada post.
  • UPVOTE_COMMENT <POST_ID> <COMMENT_ID>, DOWNVOTE_COMMENT <POST_ID> <COMMENT_ID>, UNDO_VOTE_COMMENT <POST_ID> <COMMENT_ID>: Voting pada komentar.

Trending

  • TRENDING <SUBGRODDIT> <DURATION> <UNIT>: Menampilkan kata kunci yang sedang tren pada Subgroddit.

Feed

  • SHOW_FEED <LATEST/NEWEST> <LIMIT>: Menampilkan feed dari pengguna yang diikuti (urutan dan batas tampilan opsional).

Search

  • SEARCH_USER <PREFIX>: Mencari user berdasarkan prefix.
  • SEARCH_POST <PREFIX>: Mencari judul post berdasarkan prefix.
  • SEARCH_SUBGRODDIT <PREFIX>: Mencari nama Subgroddit berdasarkan prefix.

Following Recommendation

  • FRIEND_RECOMMENDATION: Memberikan rekomendasi user untuk di-follow.

Others

  • Content Moderation: Membatasi penggunaan kata-kata yang bersifat negatif.
  • Data Security: Hashing dan Enkripsi untuk mengamankan data pengguna.
  • Creativity: Colorful text dan ASCII art terdapat pada aplikasi.

How to Run

Blueddit dirancang untuk dijalankan dengan spesifikasi berikut.

  • Compiler C (GCC)
  • Windows Subsystem for Linux 2

Untuk menjalankan, ikuti command berikut.

  1. Pastikan sudah menginstall GCC dan WSL

    make --version
    gcc --version
    

    Jika belum:

    sudo apt update
    sudo apt install build-essential
    sudo apt install make gcc
    sudo apt-get upgrade
    
  2. Clone repository ini

    git clone https://github.com/Labpro-22/if2110-tubes-2025-k01-g-1.git
    cd if2110-tubes-2025-k01-g-1
    
  3. Compile dan jalankan kode repository

    make
    make run
    

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors