Faits : A. Par jugement du 11 décembre 2014, le Tribunal correctionnel de l'arrondissement de la Broye et du Nord vaudois a condamné X._ pour infraction grave et contravention à la loi fédérale sur les stupéfiants (ci-après: LStup) à une peine privative de liberté de quatre ans, sous déduction de 251 jours de détention subie avant jugement et de 15 jours supplémentaires à titre de réparation du tort moral pour détention illicite, ainsi qu'à une amende de 200 fr., convertible en cas de non-paiement en une peine privative de liberté de substitution de deux jours. B. Par jugement du 11 mars 2015, la Cour d'appel pénale du Tribunal cantonal vaudois a partiellement admis l'appel formé par X._, en ce sens qu'elle a réduit la peine privative de liberté à deux ans et demi et octroyé le sursis partiel, la partie ferme étant fixée à douze mois et la durée du délai d'épreuve à trois ans. En substance, elle a retenu en fait que X._ avait participé au trafic de stupéfiants avoué par A._ et qu'il avait au moins participé à la livraison de la drogue conditionnée dans trente-trois " fingers ", totalisant 329,56 grammes. En outre, lors de son arrestation, X._ était détenteur d'une boulette de cocaïne de 0,5 gramme destinée à sa consommation personnelle; il a admis être consommateur occasionnel de cocaïne, drogue qu'il consommait de façon festive et très irrégulièrement. C. Contre ce dernier jugement, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut à la libération de l'accusation d'infraction grave à la loi fédérale sur les stupéfiants, à la levée du séquestre sur divers objets séquestrés (iPhone, Nokia, billets de train, valise contenant du café moulu, montant de 278 fr. 90) et à l'allocation d'une indemnité de 69'800 fr. à titre de réparation du tort moral en raison de la détention subie; à titre subsidiaire, il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'autorité précédente pour complément d'instruction et nouvelle décision. En outre, il sollicite l'assistance judiciaire.