Focuses on: Client and Server architecture and Linked List
Develop a server/client application in C or C++ and documentation for the application. The instructor will demo a working project to explain what the documents look like and how the application works.
The project will provide each student with an opportunity to design and develop his/her own server/client application by using skills, techniques, concepts, and theories learned in this class. Specially, the students will exercise how to use the TCP sockets API as communication end points between two application programs.
Status | Function Name | functionality |
---|---|---|
Done | Main menu | Main Menu of the store |
Done | Store Catelog | Display the games available within the store |
DROPPED | Search Catelog | Allow the catelog to be searchable |
DROPPED | Filter Catelog | Display the catelog that is returned by the search; only show the filtered list |
Done | Display full Game Info | When the user selects the game, display the game contents |
Done | Purchase the game | Allow the user to 'purchase' the game |
Done | User Log-in | Allow the ability for the user to log into the store to make purchases |
Done | Create a new user acc. | Allow new users to create a new account |
Done | Update user account Info | Allow the user to modify their personal information |
WIP | Netcode Implementation | Implement the netcode; client\server architecture, using either select() or fork() |
HOLD | Documentation Phase | Holy moly there is a lot of documentation! |
- Server and client programs must communicate with each other properly;
- The client program accepts a request from a user, then sends the request to server program; then recieves a response from the server program and print it on the screen.
- Server program accepts a request which was sent by the client program, then access the request, and then sends results back to the client program.
- The documentation must include:
- Project Design - Including server part design, client part design, and communication between these two programs.)
- Instructions on how to compile and run your programs.
- Instructions on how to use your program interface, such as how to use a menu.
- Software and hardware descriptions (Operating systems, computer architecture information, and so on).
- Program synopsis.
- Project assignments of team numbers (wtf?)
- GUI interface and DBMS (such as MySQL) are encouraged to be used, and it will be granted 20% extra points.
- EXTRA: Images
- EXTRA: ReadMe
- EXTRA: Technical ReadMe
- Hand-Writing project is unacceptable
- Every team must demonstrate its project in Computer Lab by 12.December.2018 by Wednesday. And all tember must participate the team presentation.