Free Programming Website

Free Programming Website

Tuesday, August 12, 2014 free project with source codes  free project with source codes

This website allows members to post questions and answers on different topics. It resembles Yahoo answers website. This application uses ASP.NET pages for presentation. ObjectDataSource is used to get data from Data Access Layer (DAL). Stored procedures are used to perform all important operations related to database in SQL Server.

The following are major activities in this application

  • User Registration
  • Login
  • Password Recovery
  • Posting question
  • Posting answer
  • Searching questions
  • Displaying details of a question
  • Displaying most recent questions
  • Displaying questions of current user
  • Changing password
  • Logout

Technologies and Products Used

  • ASP.NET 3.5
  • C# language
  • Visual Studio.NET 2008
  • SQL Server 2005 Express Edition
  • Login controls - Membership
  • Stored procedures using T-SQL.
  • Identify columns for auto increment columns
  • Master pages and Themes
  • Navigation controls - Treeview, SiteMapPath etc.
  • DataBound controls such as GridView, FormView etc.
  • ObjectDataSource to get data from DAL and bind data to data-bound controls such as FormView and GridView.
  • Data Access Layer - DAL, to access database.

Steps to download, deploy and run this project

The following are the steps to related to be taken to run this application. This project makes use of membership feature of ASP.NET. So,we have to configure the website using ASP.NET Configuration tool as explained below.
  1. Download answers.rar and unzip it into any directory in your system. For example, if you extract to c:\ then it will create a directory c:\answers. The download contains all ASP.NET pages but it has NO DATABASE. We have to create database objects using ASP.NET configuration tool manually.
  2. Open Visual Studio.NET 2008 or Visual Web Developer 2008.
  3. Open the project from the directory into which you extracted project.For example, c:\answers
  4. Select Website->ASP.NET Configuration option
  5. Select Security tab
  6. Select Use the security Setup Wizard to configure security step by step.
  7. Select From Internet option in Step 2
  8. Click on Next button in the remaining screens and finally click on Finish.
  9. It create a database called ASPNETDB.MDF with required tables and other database components
  10. Open the database in Server explorer or Database Explorer and create tables using the following script. Use New Query to open query window and type the following commands in SQL Pane.
    create table categories
    (  catcode  varchar(10)  primary key,
       catname varchar(50),
       catdesc  varchar(200),
       noquestions int
    create table questions
    (   qid   int   identity primary key,
        title  varchar(100),
        question varchar(2000),
        addedon  datetime,
        catcode  varchar(10)  references categories(catcode),
        userid     uniqueidentifier  references aspnet_users(userid)
    create table answers
    (   aid   int   identity primary key,
        qid   int  references questions(qid),
        answer varchar(2000),
        addedon  datetime,
        userid     uniqueidentifier  references aspnet_users(userid)
    insert into categories values('music','Music','Songs , Albums etc.')
    insert into categories values('sports','Sports and Games','Sports and Games')
    insert into categories values('health','Health and diet','Health, diet and excercise')
  11. Create the following stored procedure in the database.
    CREATE PROCEDURE dbo.AddQuestion(@userid UniqueIdentifier, @title varchar(100),@question varchar(2000), @catcode varchar(10))
     begin tran
         insert into questions (title,question, catcode,addedon, userid)
            values(@title,@question, @catcode, getdate(), @userid);
         update categories  set noquestions = noquestions + 1 
         where catcode = @catcode;
        commit tran
    CREATE PROCEDURE dbo.GetAllCategories
       select * from categories
       order by catname
    CREATE PROCEDURE dbo.GetAnswers(@qid int)
          select aid,answer, addedon, username, a.userid
      from answers a inner join aspnet_users  u on ( a.userid = u.userid)
          where  qid = @qid
          order by  aid desc 
    CREATE PROCEDURE dbo.GetQuestionDetails
    (@qid int)
      select qid,title,question, c.catcode, catname, addedon, username, q.userid
      from questions q inner join categories c on ( c.catcode  = q.catcode)
      inner join aspnet_users  u on ( q.userid = u.userid)
          where  qid = @qid
    CREATE PROCEDURE dbo.GetRecentQuestions
     select top 10 qid, c.catcode,catname,title,addedon 
     from  questions  q inner join categories c
     on  (q.catcode = c.catcode)
     order by  qid desc
    CREATE PROCEDURE dbo.SearchQuestions
     (@pattern varchar(100) )
     select qid, c.catcode,catname,title,addedon 
     from  questions  q inner join categories c
     on  (q.catcode = c.catcode)
     where  title like '%' + @pattern + '%'  or question like '%' + @pattern + '%'
     order by  qid desc
    CREATE PROCEDURE dbo.AddAnswer
     ( @qid int, @userid uniqueidentifier, @answer varchar(2000))
        insert into answers (qid,userid,answer,addedon)
          values(  @qid,@userid,@answer, getdate())
  12. Goto Solution Explorer and make login.aspx the startup page.
  13. Run project from Visual Studio.NET 2008 or Visual Web Developer 2008.
  14. You should see login.aspx page.