A terminal-based social media application built in C using linked lists, dynamic memory allocation, and modular program design.
The Text-Based Facebook Replica is a console-based social networking application developed in C. It simulates core social media functionality such as user registration, login, post creation, friend management, and viewing posts, all through a text-based interface.
The project was built to strengthen fundamental programming concepts in C, with a strong focus on linked lists, dynamic memory management, modular design, and user interaction through the terminal.
- Register a new user
- Log in with an existing account
- Change a user's password
- Add and remove posts
- Add and remove friends
- Display a user's full post history
- Display a user's friend list
- Load initial user data from a CSV file
- Store:
- users in a sorted linked list
- friends in a sorted linked list
- posts in stack order
- Clean up all dynamically allocated memory before exit
The application follows this general workflow:
- Load predefined users from a CSV file
- Display the main menu
- Allow the user to:
- register
- log in
- exit
- Once logged in, allow the user to:
- manage profile
- manage posts
- manage friends
- display another user's posts
- return to the main menu
- Language: C
- Core Concepts Used:
- linked lists
- dynamic memory allocation
- structs
- pointers
- file handling