Projenin amacı, kullanıcılara Süperkahramanlar koleksiyonunu keşfetme ve kendi istedikleri kahraman koleksiyonunu oluşturma fırsatı sunmaktır. Kullanıcılar, uygulama aracılığıyla istedikleri kahramanları edinebilir, kendi koleksiyonlarını oluşturabilir ve bu süperkahramanlar hakkında detaylı bilgilere erişebilirler.
Proje, kullanıcıların siteye giriş yapabileceği veya yeni hesap oluşturabileceği bir kullanıcı giriş ve kayıt olma sistemi içermektedir. Bu sayede kullanıcılar kendi profillerini oluşturabilir, koleksiyonlarını kaydedebilir ve istedikleri kahramanları seçebilirler.
Site üzerinde, belli aralıklarla 2 yeni rastgele kahraman eklenen dinamik bir koleksiyon sayfası bulunmaktadır. Kullanıcılar bu sayede 600'e yakın kahramandan sürekli olarak yeni kahramanları keşfedebilirler.
Ayrıca kullanıcılar, site üzerinde her kahramanın detaylı özelliklerine de erişilebilir. Kahramanların isimleri, cinsiyetleri, ırkları, boyutları, kiloları, göz renkleri, saç renkleri, ikincil kimlikleri, takma adları, doğum yerleri, ilk görünüşleri gibi birçok özellik bulunmaktadır.
Proje, verileri önce bir SuperHero API'den çekerek başlar ve daha sonra bu verileri kendi PostgreSQL veritabanına aktararak kullanıcıların daha hızlı ve güvenilir bir deneyim yaşamalarını sağlar. Bu veritabanı sayesinde kullanıcıların koleksiyonları ve diğer bilgiler güvenli bir şekilde saklanır.
Frontend tarafında HTML, CSS ve Bootstrap 5 kullanılmıştır, bu sayede kullanıcılar kolayca gezinebilirler. Projenin backend kısmı Flask frameworkü kullanılarak geliştirilmiştir. Flask-Login ve Flask-SQLAlchemy kütüphaneleri kullanılarak kullanıcı giriş-çıkış işlemleri ve veritabanı yönetimi kolaylıkla gerçekleştirilir.
Proje, Vercel'de ücretsiz hosting hizmeti ile canlıya alınmış ve PostgreSQL veritabanı da ücretsiz olarak Render.com üzerinde barındırılmıştır. Bu sayede kullanıcılar herhangi bir ücret ödemeden uygulamayı kullanabilirler.
Projenin amacı, süperkahraman koleksiyonlarına ilgi duyan herkesin bu dünyayı keşfetmesine ve kendi özel koleksiyonlarını oluşturmasına olanak sağlamaktır.