Skip to content

Latest commit

 

History

68 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MekanBul Web Uygulaması


Süleyman Demirel Üniversitesi - Bilgisayar Mühendisliği | Web Teknolojileri ve Programlama Dersinde yapmış olduğum insanların konumları civarındaki mekanları ve mekanların detaylarını, konumunu ve yapılan yorumları görmelerini bunlara ek olarak mekanlara yorum yapabilmelerini sağlayan bir web uygulamasıdır.

  • Uygulamada bulunan "Admin Panel" ile mekan ekleme, silme, güncelleme, gibi işlemler yapabilmektedir.

  • Uygulamada şuanda kayıtlı tüm kullanıcılar Admin Panel işlemlerini yapabilmektedir. İlerleyen günlerde kayıtlı her kullanıcının admin paneli kullanamamasını; Sadece "yönetici" izni olanların, Admin Panel işlemlerini yapabileceği bir güncelleme yapmayı planlamaktayım.


Uygulamanın Çalışır Haline Ulaşmak İçin: https://mekanbulapp-alihappy.vercel.app/

Uygulama Backend Kısmı (Express): https://mekanbul-backend-alihappy.vercel.app/


Uygulama Özellikleri

  • Uygulama frontend ve backend olmak üzere iki kısımdan oluşmaktadır.

  • MERN Teknolojisine uygun bir şekilde tasarlanmıştır.

  • Frontend, Bootstrap, CSS, Javascript ile kodlanmıştır.

  • Backend'de NodeJS ve ExpressJS ile geliştirilmiş REST API çalışmaktadır.

  • Normal Kullanıcı:

    • Konuma göre mekan listeleme,
    • Mekan detaylarını görebilme
  • Admin:

    • Tüm mekanları listeleme,
    • Mekan detaylarını görebilme,
    • Mekan ekleme,
    • Mekan silme,
    • Mekan güncelleme
  • Yorum Yapma:

    • Kullanıcı girişi gerekmektedir.

Kullanılan Teknolojiler

  • Front-end: Recat & Javascript, Bootstrap, CSS
  • Back-end: NodeJS, ExpressJS, Javascript
  • Haberleşme: REST API, Axios
  • Veri Modelleme: Mongoose
  • Veritabanı: MongoDB
  • Kimlik Doğrulama: JWT

Kütüphanelerin Yüklenmesi & Uygulamanın Çalıştırılması

  • Uygulamanın çalışması ve gerekli kütüphanelerin yüklenmesi için mekanbul kök dizininde,
npm start 

komutunun çalıştırılması yeterlidir.

  • Komutun çalışıtılmasıyla beraber gerekli tüm kütüphaneler yüklenecektir. Bunu sağlayan tanımlama kök dizindeki package.json dosyasında bulunan "start" komutunda bulunmaktadır.

  • Uygulamada bulunan JWT_SECRET ve MONGODB_URI mekanbul/backend/.env dosyasına tanımlanmış olup kullanmanız durumunda eklemeniz gerekmektedir.


API Metotları

  • Mekan Ekleme: POST > "/api/venues"
    • Mekan Bilgileri: ad,adres, imkanlar, enlem, boylam, gunler1, acilis1, kapanis1, kapali1, gunler2, acilis2, kapanis2, kapali2.
  • Konuma Göre Mekan Listeleme: GET > "/api/venues?lat=37&lont=35"
    • Enlem ve boylam sorgu parametresi olarak verilmeli.
  • Tüm Mekanları Listeleme: GET > "/api/admin"
    • Giriş yapılmalı.
  • Mekan Getirme: GET > "/api/venues/:venueid"
  • Mekan Güncelleme: PUT > "/api/venues/:venueid"
    • Auth.Bearer Token Girilmeli,
    • Mekan bilgileri girilmeli,
    • Mekan Bilgileri: ad,adres, imkanlar, enlem, boylam, gunler1, acilis1, kapanis1, kapali1, gunler2, acilis2, kapanis2, kapali2
  • Mekan Silme: DELETE > "/api/venues/:venueid"
    • Auth.Bearer Token Girilmeli.
  • Yorum Getirme: GET > "/api/venues/:venueid/comments/:commentid"
  • Yorum Ekleme: POST > "/api/venues/:venueid/comments"
    • Auth.Bearer Token Girilmeli,
    • Yorum bilgileri girilmeli,
    • Yorum Bilgileri: Author, Rating, Text
  • Yorum Güncelleme: PUT > "/api/venues/:venueid/comments/:commentid"
    • Auth.Bearer Token Girilmeli,
    • Yorum bilgileri girilmeli,
    • Yorum Bilgileri: Author, Rating, Text
  • Yorum Silme: DELETE > "/api/venues/:venueid/comments/:commentid"
    • Auth.Bearer Token Girilmeli
  • Giriş Yapma: POST > "/api/login"
    • Kullanıcı bilgileri girilmeli
    • Kullanıcı Bilgileri: e-posta, sifre
  • Kayıt Ol: POST > "/api/signup"
    • Kullanıcı bilgileri girilmeli,
    • Kullanıcı Bilgileri: Ad Soyad, e-posta, sifre

Postman, API Metot Denemeleri:

  • Tüm Mekanları Listeleme:

  • id'ye Göre Mekan Listeleme:

  • Konuma Göre Mekanları Listeleme:

  • Kullanıcı Giriş:

  • Kullanıcı Ekleme:

  • Tek Bir Yorum Getirme:

  • Mekan Silme:


Uygulama Örnek Sayfaları:

  • Ana Ekran:

  • Mekan Detayları:

  • Yorum Ekleme:

  • Kullanıcı Giriş:

  • Kullanıcı Kayıt:

  • Admin Panel:

  • Mekan Ekleme:

  • Mekan Güncelleme:


Teşekkür

Bu proje Doç. Dr. Asım Sinan YÜKSEL hocamızın Web Teknolojileri ve Programlama Dersindeki anlatımlarıyla ve kendi eklemelerim sonucunda tamamlanmıştır. Şahsi geliştirmelerim devam edecektir.

  • Projenin her aşamasında vermiş olduğu destekler için Doç. Dr. Asım Sinan YÜKSEL hocama teşekkürlerimi sunarım.

Releases

Packages

Used by

Contributors

Languages