Can I fit logistic regression over a dataset with only categorical data? I have a dataset which contains only categorical data i.e.A,B,C,D (like factors) for each predictor. There are 10 predictors and the dependent variable is binary, 0,1. 
UPDATE: MY predictors are answers for multiple choice questions for a questionnaire. So each predictor only takes on categorical values, i.e. X_1 can be A,B,C or D, X_2 can be A,B,C,D,E,F,G or H. 
Is it feasible to fit a logistic regression over this dataset? 
Ideally, if I can fit a logistic regression the data, I will then use it for prediction over a set of test data, which again contains only categorical data. 
What are the pitfalls that I should look out for?
 A: Yes of course you can. Just be aware of the nature of your categorical data - is it ordered or unordered?
If ordered (e.g. small, medium, large) you might want a single feature X1 with values like (1, 1, 3, 2, 3, 1, ...) where 1 represents small, 2 represents medium, etc.
If unordered (e.g. red, blue, green) you'll want multiple features like X1 = (0, 0, 1, 0) representing "is red?", X2 = (1, 0, 0, 1) representing "is blue?" and so forth.
A: Yes, this is doable.  
The (potentially) unseen pitfall is that your model may require a great deal more data than you expect.  A general rule of thumb for logistic regression is that you need at least $15$ observations in the less commonly occurring category (i.e., either $0$s or $1$s) for each variable in the model (cf., here).  You may think that you have just $2$ variables (viz., X_1 and X_2), and thus, you will be OK as long as you have at least $30$ 'successes' and $30$ 'failures'.  However, there is a subtle inconsistency between how we interpret your variables and how a statistical model will use them.  You will quite naturally think of X_1 as a single variable, but the model will treat it as $3$.  Likewise, the model will treat X_2 as $7$ (!) additional variables, not one.  More specifically, you are using the number of levels minus one ($4-1=3$ and $8-1=7$) in your model for every categorical variable you add.  The upshot of this is that you want to have at least $150$ 'successes' and $150$ 'failures' ($N>300$) in your dataset to fit a model with just your X_1 and X_2 variables.  
A related issue is that you want to be sure there are sufficient data in each of those levels.  Obviously, if no one chose X_2 = G, you won't be able to estimate anything about the effect of that level of X_2, but you will also have a problem if some did choose G, but everyone who did has Y = 1.  That would lead to the problem of separation.  Moreover, if you want to fit the interaction, you will need sufficient data in every combination of levels ($32$, in your case).  To read more about these topics, you may want to peruse some of our threads categorized under hauck-donner-effect and many-categories.  
A: Of course it is possible. 
You just need to transform your categorical variables into binary variables and to remove each time one item. For instance, if the variable X takes two values A and B, you need to create the variable which is equal to 1 if X == A and to 0 otherwise. Since X == A implies X != B, you'll have a collinearity in your model if you add the variable which is equal to 1 if X == B and to 0 otherwise.
