Code Repository Client/Server System
C++, WPF, WCF, C#, C++/CLI, GUI, , 2018
A C++ based code repo system.
- Check in/out files, version management, file browser supported
- Developed a NoSQL database with C++
- A file and directory operations module in C++
- WPF for UI design
- WCF for communication between C/S
- Object oriented design (OOD), all modules have test sets and necessary comments.
- GUI (C# WPF Application)
- Demonstrates C# user interface sending messages through native C++ communication channel to a remote server.
- Connects to channel through Translater
- Translater (C++\CLI dll)
- Defines managed message class
- Translates managed messages and strings to native messages and strings and vice versa.
- Connects to channel via the CommLibWrapper.
- Managed code (C++\CLI) is isolated from native code (C++) using IComm interface and CommLibWrapper factory
- MessagePassingComm (C++)
- Sends messages through socket-based one-way channels
- Sends files as a series of chunks with message headers
- Each endpoint has both a sender and receiver, wrapped in a Comm object
- Sockets (C++)
- Socket library the supports both IP4 and IP6 protocols
- Provides three classes Socket, SocketConnector, and SocketListener
- Message (C++)
- Defines messages as collections of attributes
- ServerPrototype (C++)
- Processes incoming messages based on ServerProc callable objects, keyed to a message’s command attribute
- FileSystem (C++)
- Provides static functions for managing files, paths, and directories
- GUI (C# WPF Application)