I am developing a client-server application in my spare time. Can anyone help me with suggestions:
- What implementation platform/language to use.
- How to authenticate the users.
- I am from Sweden :-)
- I prefer a Linux server.
- I know Apache, Perl, some RubyOnRails, C/C++, C#, JavaSE, Java Servlets, JavaEE (some old knowledge), MySQL, XML.
- I don't know so much about: SOAP, AJAX, Spring, WebServices, Microsoft products (except Visual Studio and Windows)
- add/remove users: [name, password, access-rights, user details, current status]
- authenticate user
- change user record details
- receive files: store in users area, and commit. 3-100 files in a named "file-collection"
- send user his own user-details
- send user a listing of file-collections (own or other users)
- send user a file-collection
- report to admin e.g. "bad behavior"
- report to user e.g. weekly activity or mail confirmations
- scalable up to 500 users
- MySQL for users data.
- MySQL for files uploaded by user (too much probably).
- User records in files.
- Uploaded user files stored as files.
- Client-server communication with SOAP.
- RubyOnRails for server implementation.
- Java Servlets for server implementation.
- JaveEE, ejb 3.0 for server implementation (user records as entity beans).
- Apache and mod_perl.
Today no client has any network interface. List of clients:
- Windows client, in C# and C++ (ready)
- iPhone client, in Objective-C and C++ (started)
- Mac OS X client, in Objective-C and C++ (future goal)
- Android client, in Java (future goal)