<p>I am planning to develop School Database Management System that will run on Windows, Linux and Mac. The application will be Server/Client and GUI based. </p>
<p>Modules I intende to use are: Python socket module, wxPython for GUI, Open GL for image processing , email and so on.</p>
<p>This is my first real python project and I really want to test myself with this application.</p>
<p>Some planned features is:-</p>
<div>SERVER</div>
<div>Manage Client connections</div>
<div>Handling Student/User registration</div>
<div>Handling backup</div>
<div>will also act as IM server (that will allow users to chat sometime)</div>
<p></p>
<div>CLIENT</div>
<div>Connect to sever</div>
<div>Act as IM client</div>
<div>Retrieve data from server.</div>
<div> </div>
<div>I will not be able to list all features.</div>
<p>My Question is:</p>
<p>What is the best database to use? (Flat file, cPickle, MySql, Sqlite,XML etc)</p>
<p>Security to make sure data is safe</p>
<p>How are binary data transferred from location x to y?, and during the transferring what should happen if not fully transferred and assume power goes off. Start all over again or continue?</p>
<p>What is the secret behind transparent file transfer like the one in Yahoo IM (I can see what i`m transferring to you, u as well).</p>
<p>Audio streaming.</p>
<p>My intension here is to know what to do or read more and not asking you to write code for me</p>
<p>Just your advice.</p>