I've been tasked with creating a website to database the details of club sporting events (ie best places to stay, where to eat, directions etc...) in my state. Basically I want users to log in and then have the ability to a) create a new event and write a review b) edit a review another user posted and c) search the database by county, type of event, etc.
I think the main features sound a lot like wiki applications. I've looked at various open source wiki programs like mediawiki and flexwiki, but its above my level of experience. I'm pretty new to asp.net so my question is, how should I go about creating this application? Is asp.net the best way to accomplish what I need to do? Thanks in advance and sorry for any ignorance in my post.
Very good question. This is something developers dont do enough of and it's the difference between a good one, and and average developers. It's called project scope and planning, and basically what you are doing now is determing the functional design, based on your business rules. So let me see if I can help you out, there's some things I want to clarify though.
Do your business rules really call for editing a review of another user? That seems strange...In this application I'd see something more along the lines of adding a new review, so basically lots of users can all review a certain event.
Are you doing the full lifecycle of the project? Designing the Database, Code, UI and testing?
See if you can give me a few more details on the points I mentioned, and I can probably give you some advice and direction.
Auction Site StarterKit |
Thanks for the reply and help. The site doesn't necessarily need to allow users the ability to edit pre-existing reports, but I thought it might be a nice feature. Users would be more or less filling in the information blanks about specific event. My reasoning for the edit feature is to cut down on the amount of posts that a user would need to read in order to get the information. I guess I'm trying to collect more hard facts than opinion. I would ultimately like to include a comments/review section where the users can add their experiences and opinions.
I'd really like to try and do the project myself. I think its a good opportunity to learn this stuff as long as I can keep my design simple enough. I think what I'm looking for is an assessment of what skills I'd need to learn and where is the best place to get started. Are there any similar examples I can learn from?
I dont think there's any single resource that is going to provide you with the specifics of what you need. I do think one of your considerations though is going to be how you control your users, and what processes you incorporate into your application to make sure you get facts, rather than opinions. Somebody wise once said: My opinion is a mater of fact. :)
You can check that link for a slew of starter kits that Microsoft has provided to us, the combonation of a few may help you get started. Check in particular the ones with CMS (content management systems) enabled features.
I'd probably incorporate these steps to help you get started.
- Plan your features and get them on paper
- Design a flow chart of site process.
- Design your database, and get it tested for integrity
- Design your DAL / BLL and how the two will communicate
- Design your UI according to your flow chart
That will give you a good start. :)
Auction Site StarterKit |
I'm with Bryan on this - look at the starter kits (the club starter kit includes event listings). Dotnetnuke is a very large hammer to deal with these requirements.
I gather that you have the opportunity to treat this as a learning exercise? If it's a career-enhancing opportunity, then look at the folllowing:
1. Create a SQL Server database table to hold reports
2. Ensure that your new table associates the reports with Users - perhaps through a relationship with the existing ASP.Net users tables (you'll learn about database integrity, foreign keys etc)
3. Work on developing functions for Add/Edit/Delete the reports. Bryan mentioned DAL etc - this means you don't just drop data-access controls onto a web page that work directly against the database, you separate out the database access layer using ADO and probabbly stored procedures to ensure your solution scales with multiple users. Complex stuff, but I think your project is a great start to try this stuff out.
Every piece of code you end up writing yourself (and debugging!) is an extra skill you add to your expertise.Good luck!
Articles & Training for SQL Server and ASP.Net 2.0
Check out our tutorials for going live on GoDaddy