Wedding Organization System
Overview
A C++ automation system designed to manage wedding events, guest lists, and financial details. The project creates a relational data environment using flat text files to ensure data persistence and organization.
Technical Implementation
- Architecture: Modular C++ design separating interface (
.h) from implementation (.cpp).
- Data Persistence: Custom file handling using
std::fstream. Data is stored in pipe-delimited (|) text files in the data/ directory.
- Memory Management: Implements vector-less file manipulation. Large datasets are not loaded into memory; instead, operations (like search, delete, update) are performed via stream processing and temporary file swapping (
temp.txt).
- Relational Logic: Uses
DugunNo as a Foreign Key to link records across Dugunler.txt, Davetliler.txt, and OrganizasyonDetay.txt.
- Algorithms:
- Cascade Delete: Deleting a wedding automatically triggers the deletion of linked guests and cost records.
- Multi-pass Reporting: Seating plans are generated by scanning file streams multiple times to filter Bride/Groom sides without in-memory sorting.
Features
- CRUD Operations: Create, Read, Update, Delete for Weddings, Guests, and Costs.
- Cost Analysis: Calculates total expenses (Food, Accessories, Artists, etc.).
- Seating Plans: Generates lists separated by relationship (Bride’s Side vs. Groom’s Side).
- Validation: Prevents duplicate cost records and ensures data integrity.
Build & Run
Using Make:
Manual Compile:
g++ -std=c++17 -Iinclude src/*.cpp -o bin/WeddingApp.exe
Author
- Name: Mahfuz AHMAD
- Number: B221210591
- Department: Computer Engineering
- University: Sakarya University