Skip to content

NikSamSim/IF2110_Groddit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

107 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IF2110-Tubes-01

Groddit!

Groddit adalah aplikasi media sosial berbasis bahasa C yang mensimulasikan platform mirip Reddit.
Pengguna dapat melakukan registrasi, login, membuat Subgroddits, melakukan posting, memberi komentar bersarang, melakukan voting, serta berinteraksi melalui fitur follow.

Proyek ini dikembangkan sebagai bagian dari Tugas Besar IF2110 — Algoritma dan Pemrograman 2 2025/2026.


Features

Authentication & User Management

  • Register – Create a new Nimon account.
  • Login – Access the system.
  • Logout – End the session.
  • Profile – View user stats (Karma, Posts, Followers) and follow status.
  • Data Security – Password hashing and configuration file encryption.

Community & Content

  • Create Subgroddit – Establish a new community (e.g., r/algorithms).
  • View Subgroddit – Browse posts sorted by HOT (votes) or NEW (time).
  • Post – Create a new post in a specific Subgroddit.
  • View Post – Read a post and its nested comment threads.
  • Delete Post – Remove your own posts (cascading delete).

Interaction

  • Comment – Add comments to posts or reply to other comments (Reply Tree).
  • Delete Comment – Remove your own comments.
  • Voting – Upvote or Downvote posts and comments to affect Karma.
  • Undo Vote – Cancel a previous vote.

Social Features

  • Follow – Follow other users to see their updates.
  • Unfollow – Stop following a user.
  • Followers/Following – View social connections.
  • Feed – View a personalized feed of posts from followed users (sorted by time).

System

  • Save – Persist all application state (Users, Posts, Comments, etc.) to CSV files.
  • Load – Load application state from a configuration folder.
  • Help – Display available commands.

Struktur Direktori

Struktur direktori:

├── .github/
├── .vscode/
├── bin/ # Hasil build (executable)
├── build/ # Object files (.o)
├── doc/
│ └── .gitkeep
│
├── src/
│ ├── adt/ # Abstract Data Types
│ │ ├── comment/
│ │ ├── comment_tree/
│ │ ├── feed/
│ │ ├── graph/
│ │ ├── list_berkait/
│ │ ├── mesin_karakter/
│ │ ├── mesin_kata/
│ │ ├── post/
│ │ ├── post_comment/
│ │ ├── social/
│ │ ├── stack/
│ │ ├── subgroddit/
│ │ ├── tree/
│ │ ├── user/
│ │ ├── voting/
│ │ ├── waktu/
│ │ └── boolean.h
│ │
│ ├── core/ # Logic & Handlers
│ │ ├── command/
│ │ ├── comment_handler/
│ │ ├── help_handler/
│ │ ├── load/
│ │ ├── post_handler/
│ │ ├── profile_handler/
│ │ ├── save/
│ │ ├── security/
│ │ ├── social_handler/
│ │ ├── subgroddit_handler/
│ │ ├── user_handler/
│ │ └── voting_handler/
│ │
│ ├── utils/
│ │ ├── ascii_art.c
│ │ ├── ascii_art.h
│ │ ├── main.c
│ │ └── main.h
│ │
│ └── test/
│ └── sample-data-spek/ # Dataset dari spek
│ ├── config.csv
│ ├── user.csv
│ ├── subgroddit.csv
│ ├── post.csv
│ ├── comment.csv
│ ├── social.csv
│ └── voting.csv
│
├── .gitignore
├── build.log
├── Makefile
└── README.md

Contributor

This repository is brought to you by K01-D that consist of

Name Role NIM
Muhammad Ashkar Developer 13524007
Niko Samuel Simanjuntak Developer 13524029
An Dafa Anza Avansyah Developer 13524038
Raynard Fausta Developer 13524052
Reinhard Alfonzo Hutabarat Developer 13524056

About

Tugas Besar IF2110 Algoritma dan Pemrograman 2 2025 (Aplikasi Media Sosial Berbasis Bahasa C yang Mensimulasikan Platform Mirip Reddit)

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors