this project is based on .net c#, the requirement is below:
In this project you will build a peer to peer (p2p) system for sharing files between users, across IP networks (see Appendix 1).
The system will contain the following modules:
A. WPF application. This is the application that the end users should use.
B. Mediation Server – a collection of WCF or Web Service for handling client's requests.
C. Administrator Management System – ASP.NET Portal for administrative tasks, and user's registration.
D. DAL (Data Access Layer) - A Class library for handling DB operations.
E. DB (SQL SERVER) - store system and users information.
F. Implementation of simple reflection with attribute;
2. Application specification
2.1 Peer to peer client/server (30%)
2.1.1 WPF Application with style objects or templates in Xaml resource.
2.1.2 The client application will have a configuration file for Local TCP port (port 8005 /port 8006 default -IO), Server IP Address, username, password, full path of the public folder for published files, and full path of the folder for downloaded files. The configuration file will be edit by GUI interface. The name of this file is: [url removed, login to view]
2.1.3 When you start the client it will check for a valid configuration file. If there is a problem – a message will appear.
2.1.4 If the Configuration file is OK, open a socket and wait for incoming request.
2.1.5 If the Configuration file is OK, connect to the server and sign in the user with a list of files to share.
2.1.6 When you close the client it will sign out. Don't forget to dispose all resources, on closing Client, Server.
2.1.7 The user can search for a file name. The application will call a method on the server. (See 2.2.2). *means get all available files.
2.1.8 Each player will client/server will run in asynchrony method.
2.1.9 If the answer from the server is positive, the user will get the file name, size and number of resource. After selecting his choice, the client will automatically connect to the remote peer and start downloading the file.
[url removed, login to view] The client application will show the current status of each incoming / outgoing file transfer.
[url removed, login to view] Each player with client/server methods will run in asynchrony method.
[url removed, login to view] After a successful file download, the client will show the total time, the file size, and the bit rate (Kbps).
[url removed, login to view] You decide about the format of the Xml or Jason. Extra data is allowed.
[url removed, login to view] One download file has to be dll. The dll enclose at least two classes.
The classes will be launch at the client, with reflection technology according to its Attribute. The detail of the classes can be supply in the configure file, or with any other way.
2.2 Mediation Server -A collection of (WCF or Sockets or Web Service) Services for handling client's requests. (30%)
2.2.1 Write a web service for client sign-in. this method receives a string in Xml or Json) format with Username, Password, IP, PORT, and a list of files (files name and size). If username and password are valid, the server will update the current users and current available files.
2.2.2 Write a web service for client file request. This method receives a string in XML/Jason format (Or other technology). If username and password are valid, and the file is found, the server will return requested file name (or list) with the size and how many users own it. If the file does not exist, the server will return a negative answer to the client.
2.2.3 Write a web service for client sign-out. This method receives a string in XML format with Username, Password, and marks this user as unavailable, as well as all his files.
2.3 Web Portal - Administrator Management System (25%)
2.3.1 Write a web form for showing all files available in the system, with a search button. In this page you should show the number of active users, total users, total files.
2.3.2 Write a web form with registration page – a page for registering a new user.
2.3.3 Write a web form for administrator, for enable / disable / delete/ update users.
2.3.4 Write a menu page for this portal. This will be the Homepage of the portal. The name of this file is [url removed, login to view] (simple html page).
2.4 DAL – A class library for DB operations. (15%)
2.4.1 All db operations in the web-service and in the portal will be handled in that module (dll).
2.4.2 Write a class for each table in the db, and implement read / write public methods.
3.1 All code must be written in c#.
3.2 Documentation, Error handling, Validation input are all mandatory.
3.3 Due date – [url removed, login to view] – you should hand in to the afeka model site with zip file.
3.4 The zip file include:
• Students Names, ID, Class, Lecturer, Mail, Cell Phone, manual for installing, and using the application.
• 2-3 pages that explain the main classes, and methods, functionality in the project, DB Schema, XML protocols, MyConfig File Format,
• Manuel with instruction how to setup the application at Lab (You must test it)
• 1 Page known bugs
4 freelancers are bidding on average $214 for this job
Hello, I am Mark and I have 5+ year of experience in Web and Mobile development in ASP.NET and Xamarin , Android, IOS so i feel myself a better candidate for your project