hi, basically im designing an online backup system for my final year project. It will be an (asp.net/c#) web application which allows users to backup their files to a remote server. Each user will have their own account where they can login to backup files, view files backed up etc....

i need help picking what classes i should have within my system, i understand that picking wrong classes or leaving out important ones can have a very negitive effect on projects

what i have got so far:

a USER class which will store details for each user.
- im not sure if need a seperate class for LOGIN details, which will hold username and password etc?

a FILE class which will hold the details & methods for each file stored on the system

an ACCOUNT class which relates to: a user and all the files they have stored on the system

im not sure what others i need...could any1 help please?

many thanks

Surely your account and user class are the same from your description.

As for your classes, you'd need to define your program more fully before you can be conclusive about the classes you will need to do the job at hand.

You'll need to consider features, and limitations, validations etc.

Once you've written out all the features, their interactions, you'll have a much better idea of what classes you'll need.

That's a weird way you're using to designing an application heh. Here is how i would go about it if it's a fairly small project. First thing you need to do is layout your requirements. Write down what you're trying to achieve and what features you'd like to create. Go for the essential things only at this point. Than look at limitations and different ways of implementation. How you would organize data. How you would store data. What you will use to validate data. What database to use and etc. I would than draw a high level overview of the database with short explanations for each database entity. Than elaborate on it until you create a pretty decent model. You'd obviously want to have account details (i suggest you use aspnet membership features as this is already done for you). You obviously wouldn't be storing data in your database. However what you will be storing is location to files and possibly some validation data such as checksums for each file. Then go from here. Should be a little bit easier to see the whole picture from this point.

For your final year project, i would imagine you'd be required to write full-blown documentation, requirements, development strategy, development roles, scheduling, unit tests and all of that. As boring as it is, that's how projects get done :)

thanks very much for the feedback, yes i have done the requirements and am trying to design classes, database and screen flows...i will post more if i get stuck :)

thanks very much for the feedback, yes i have done the requirements and am trying to design classes, database and screen flows...i will post more if i get stuck :)

i have just figuered out how to extract info from a file as this could be very useful having name, size, type as i could then sort file by these various properties in a gridview etc

Glad to hear its moving on - as long as the design is sufficiently details the bulk of classes etc should be reasonably obvious - and it should filter quickly down from there.

i think each file will have to have a "FileOwner" so that for example when johnny logs in to his account, there will be a database select statement like:

Select * From File
Where FileOwner = 'johnny'

so that it will display only the files that particular user has uploaded - which means i will have to attach the username to each file uploaded some how (mayb in the database along with file properties).........

Have you done any normalization to your database? If so, this may be a way to make your process better structured. Instead of including Fileowner in your File table, create a 1:N (Many) relationship between File and Account. So you would simply include AccountId in table File. This will be a reference back to the account that is currently logged in.

As always countless ways to to achieve that. If you're storing files you could either store them in a database, or in directories on the server out of general web reach etc.

yep normalisation is a good idea to get rid of duplicates etc, i think i will store the file location to each file in a database; does any1 know a sutible server on which to store the files?

do u mean a relationship where 1 user has many files?

i think i will use "user" instead of "account", i suppose it dosnt really matter unless thats the standard way to call them?

im trying to test out my application so far by uploading all the project files to my "web" folder on the university server, but when i naviage to the server/myfoldername where the index.aspx is located i get an application error - what im i doing wrong?

There are many things that could be wrong,most of them have to do with the IIS configuration. Maybe the virtual directory is not set-up for your application.

But my money is on the web.Config you submited to the folder pool, you see if there is a web.Config already defined in the default root path of the website when you made another web.Config in the root/yourapi and included in that web.Config the <roleManager enabled="true" /> tag . You got an error because you can't have in your nested web.Config some specific elements like authentication

the best solution in this case is the move the project away from the root directory and create another virtual directory just for it.

hmmm im relatively new to all this IIS stuff, can i create a virtual folder on my local pc and then transfer it to the server? (which iv been trying to do) or do i have to configure it on the server itself (which i would probs need an administator for)?

kinda both, it doesnt have to be a new virtual directory, but for example, depending on your code file positions maybe different, settings can be different..

hmmm im relatively new to all this IIS stuff, can i create a virtual folder on my local pc and then transfer it to the server? (which iv been trying to do) or do i have to configure it on the server itself (which i would probs need an administator for)?

In this case you have to ask the admin for help, unless you have full acces to the server.

@julseypart

I read all the posts and I was wondering how you were able to do it.
I have the same problem you have and I am clueless. I need your help.

Thank You

Jamal

@julseypart

I read all the posts and I was wondering how you were able to do it.
I have the same problem you have and I am clueless. I need your help.

Thank You

Jamal

I just paid for my own website hosting so I had full control over the settings and deployment. If you don't want to pay for your own I suggest you ask your IT Support team to configure/enable the features you need on the server/IIS.

Jules

This article has been dead for over six months. Start a new discussion instead.