Skip to content

İnsalarla sohbet edebileceğiniz ve konuma göre filtre uygulayarak belirli bir bölgedeki kullanıcılarla iletişime geçmenizi sağlayacak bir mesajlaşma uygulaması.

License

Notifications You must be signed in to change notification settings

bahadraksakal/Bulus-Tanis-App

 
 

Repository files navigation

Bulus-Tanis-App



[EN]

3rd Grade Spring Semester Software Engineering Course Project Assignment

  • A messaging application where you can chat with people in real time and allow you to contact users in a certain region by filtering by location.
  1. Project Purpose and Objectives:

    The aim of this project is to develop a web-based application that provides a fast, secure and convenient messaging experience between users. The goals of the project are:

    • * Creating a messaging system that provides real-time communication.
    • * Designing an interface where users can easily send and receive messages.
    • * To provide data transmission and user authentication mechanisms that include security measures.
    • * To ensure high performance, scalable and stable operation of the application.
  2. Adopted Software Development Methodology:

    The Scrum model, one of the Agile methodologies, will be used in the project. Scrum is a model that allows managing the project development process in a more flexible and iterative way. The Scrum model divides the project into small parts, that is, sprints, and allows work to be done on predetermined tasks in each sprint. The basic features of the Scrum model are: Product owner: The person designated as the product owner in the project determines the user requirements and directs the development process by determining the priority order of the sprints. Scrum Master: The person who manages the Scrum practices of the project and ensures that the team runs smoothly. Their duties include removing obstacles, supporting the team and optimizing the process. Development Team: Team members responsible for the realization of the project. Roles such as Back-End and Front-End developers and database specialists may be included in this team. In the Scrum model, project development is carried out iteratively. Each sprint covers a period of time, usually ranging from 1 to 2 weeks. Sprint planning meetings are held before each sprint and the team is expected to achieve the goals throughout the sprint. At the end of the sprint, the work accomplished is reviewed and the feedback of user/team members is taken into account. Within the scope of this project, sprints will be created using the Scrum model, tasks will be determined and the process will be reviewed regularly. In this way, project progress will be monitored, flexibility and customer focus will be provided, and the development process will be easier to optimize.

  3. Open Letter to Support Our Project and Work with Us:

    As a software developer working on a messaging project, I would like to offer you a good opportunity. In this project, we aim to develop a web-based platform with mutual messaging feature by adopting an approach based on Agile methodologies such as Scrum. We need software developers who want to contribute to this project and join our team. If you are interested or think you have experience in this field, please do not hesitate to send us a message. Project stages will be carried out with an iterative approach and work will be divided in regular sprints. During each sprint, predefined work will be worked on based on customer feedback and the rapid progress of the project will be ensured. If you would like to take part in this project and get more information, please do not hesitate to contact us. We look forward to working with you on this exciting project!

  4. Team Members and Competencies:

    • Ahmet Bahadır Aksakal - Full Stack Developer - Git System Management Expert
    • Onur Metehan Yılmaz - Full Stack Developer - Cyber Security Expert
    • Ömer Faruk Kocaefe - Full Stack Developer - Cyber Security Expert
    • Veysi Beyaz - Full Stack Developer - User Experience Specialist
  5. Task Distribution and Working Strategy of Team Members::

    All of our team members are familiar with the technologies required for the project, so the distribution of tasks is business-oriented. For example, when a specific menu or feature is requested, the relevant engineer completes the Back-End work, Front-End work and Database work required to carry out the relevant work. In this way, speed and flexibility are gained in application development. The completed work is uploaded to the relevant repo and all repos are finally merged by the Git System Management Specialist.

    What the project developers have done, what work they have received and completed are tracked through the Git system.

  6. Technology and Languages Used in the Project:

    • Vue.js 3
    • Node.js (version:16.15.0)
    • Vue cli
    • HTML *CSS *JavaScript
  7. Project Stand Up Steps:

    • We need the npm package manager. Install the npm package manager from the Node.js website.
    • Open the command terminal under the Bulus-Tanis-BackEnd folder and start
    • Run npm install command.
    • run npm run serve command
    • BackEnd will run at localhost:3000 by default.
    • BackEnd - To connect to the Database (MongoDb), enter your own database connection address into the connectionString in the app.config.js file.
    • Open the command terminal under the Bulus-Tanis-FrontEnd folder and start
    • Run npm install command.
    • run npm run serve command
    • FrontEnd will run at localhost:8080 by default.
    • To access the BackEnd, make sure that the BASE_URL address under the config.backend.js file is the same as the address where the Back-End runs. By default it will run at localhost:3000.
  8. Features of Our Application:

    • User Registration
    • User Login
    • Real Time Messaging
    • Delete Conversation
    • User Exit
  9. Contributors:

    • Ömer Faruk Kocaefe
    • Metehan Yilmaz
    • Veysi Beyaz
    • Ahmet Bahadır Aksakal
  10. Project Promotion Video:

    • ilk_demo_protatip_grup_no_12.mp4
  11. Images from the Program:

    • Messaging
    • Location Search
    • Adding Friends by Location
    • Profile Page and Information Update


[TR]

3. Sınıf Bahar Dönemi Yazılım Mühendisliği Dersi Proje Ödevi

  • İnsalarlarla gerçek zamanlı sohbet edebileceğiniz ve konuma göre filtre uygulayarak belirli bir bölgedeki kullanıcılarla iletişime geçmenizi sağlayacak bir mesajlaşma uygulaması.
  1. Proje Amacı ve Hedefleri:

    Bu projenin amacı, kullanıcılar arasında hızlı, güvenli ve kullanışlı bir mesajlaşma deneyimi sunan bir web tabanlı uygulamanın geliştirilmesidir. Projenin hedefleri şunlardır:

    • * Gerçek zamanlı iletişim sağlayan bir mesajlaşma sistemi oluşturmak.
    • * Kullanıcıların kolayca mesaj gönderip alabileceği bir arayüz tasarlamak.
    • * Güvenlik önlemlerini içeren veri iletimi ve kullanıcı doğrulama mekanizmaları sağlamak.
    • * Uygulamanın yüksek performanslı, ölçeklenebilir ve stabil çalışmasını sağlamak.
  2. Benimsenen Yazılım Geliştirme Metodolojisi:

    Projede Agile metodolojilerinden Scrum modeli kullanılacaktır. Scrum, proje geliştirme sürecini daha esnek ve iteratif bir şekilde yönetmeye olanak sağlayan bir modeldir. Scrum modeli projeyi küçük parçalara yani sprintlere böler ve her sprintte önceden belirlenmiş işler üzerinde çalışma yapılmasına olanak sağlar. Scrum modelinin temel özellikleri şunlardır: Ürün sahibi: Projede ürün sahibi olarak belirlenen kişi kullanıcı gereksinimlerini belirler ve sprintlerin öncelik sırasını belirleyerek geliştirme sürecine yön verir. Scrum Master: Projenin Scrum uygulamalarını yöneten ve takımın sorunsuz bir şekilde çalışmasını sağlayan kişidir. Engelleri kaldırmak takımı desteklemek ve süreci optimize etmek gibi görevleri vardır. Geliştirme Takımı: Projenin gerçekleştirilmesinden sorumlu olan ekip üyeleridir. Back-End ve Front-End geliştiriciler veri tabanı uzmanı gibi roller bu takımda yer alabilir. Scrum modelinde, projenin geliştirilmesi iteratif bir şekilde gerçekleştirilir. Her sprint, genellikle 1 ila 2 hafta arasında değişen bir zaman dilimini kapsar. Her sprint öncesinde sprint planlama toplantıları yapılır ve sprint boyunca takımın hedefleri gerçekleştirmesi beklenir. Sprint sonunda gerçekleştirilen işler gözden geçirilir ve kullanıcı/ekip üyelerinin geri bildirimleri dikkate alınır. Bu proje kapsamında, Scrum modeli kullanılarak sprintler oluşturulacak, işler belirlenecek ve süreç düzenli olarak gözden geçirilecektir Bu sayede proje ilerlemesi takip edilecek, esneklik ve müşteri odaklılık sağlanacak ve geliştirme süreci optimize edilmesi kolaylaşacaktır.

  3. Projemize Destek Olmak Ve Bizimle Çalışmak İçin Açık Mektup:

    Bir mesajlaşma projesi üzerinde çalışan bir yazılımcı olarak sizlere güzel bir fırsat sunmak istiyorum. Bu projemizde, Scrum gibi Agile metodolojilerini temel alan bir yaklaşım benimseyerek, karşılıklı mesajlaşma özelliğine sahip bir web tabanlı platformun geliştirilmesini hedefliyoruz. Bu projeye katkıda bulunmak ve ekibimize katılmak isteyen yazılım geliştiricilere ihtiyacımız bulunmakta. Eğer ki ilgi duyuyor veya bu konuda deneyim sahibi olduğunuzu düşünüyorsanız, lütfen bizlere bir mesaj göndermekten çekinmeyin. Proje aşamaları iteratif bir yaklaşımla gerçekleştirilecek ve düzenli sprintlerle iş bölümü yapılacaktır. Her sprint süresince müşteri geri bildirimine dayalı olarak önceden tanımlanmış işler üzerinde çalışılacak ve projenin hızlı ilerlemesini sağlanacaktır. Eğer bu projede yer almak ve daha fazla bilgi almak isterseniz, lütfen bizler ile iletişime geçmekten çekinmeyin. Sizlerle bu heyecan verici projede çalışmayı dört gözle bekliyoruz!

  4. Takım Üyeleri ve Yetkinlikleri:

    • Ahmet Bahadır Aksakal - Full Stack Developer - Git Sistemi Yönetim Uzmanı
    • Onur Metehan Yılmaz - Full Stack Developer - Siber Güvenlik Uzmanı
    • Ömer Faruk Kocaefe - Full Stack Developer - Siber Güvenlik Uzmanı
    • Veysi Beyaz - Full Stack Developer - Kullanıcı Deneyimi Uzmanı
  5. Takım Üyelerinin Görev Dağılımları Ve Çalışma Stratejisi::

    Takım üyelerimiz tümü proje için gerekli teknoolojilere hakimdir bu nedenle görev dağılımı iş odaklı ilerlemektedir. Örneğin spesifik bir menu veya özellik istendiğinde ilgili işin yapılması için gereken Back-End çalışması, Front-End çalışması ve Veritabanı çalışmasını, ilgili mühendis tamamlar. Bu şekilde uygulama geliştirilmesinde hız ve esneklik kazanılmış olur. Tamamlanan iş iligili repoya yüklenir ve en son Git Sistemi Yönetim Uzmanı tarafından tüm repolar birleştirilir.

    Proje geliştiricilerinin neler yaptığı, hangi işleri aldığı ve tamamladığı Git sistemi üzerinden takip edilir.

  6. Projede Kullanılan Teknoloji Ve Diller:

    • Vue.js 3
    • Node.js (version:16.15.0)
    • Vue cli
    • HTML
    • CSS
    • JavaScript
  7. Proje Ayağa Kaldırma Adımları:

    • npm paket yöneticisine ihtiyacımız var. Node.js web sitesinden npm paket yöneticisini kurun.
    • Bulus-Tanis-BackEnd klasörü altında komut terminali açın başlatın
    • npm install komutunu çalıştırın.
    • npm run serve komutunu çalıştırın
    • BackEnd default olarak localhost:3000 adresinde çalışacaktır.
    • BackEnd - Veritabanı (MongoDb) bağlantısını yapmak için app.config.js dosyası içindeki connectionString'e kendi veritabanı bağlantı adresenizini giriniz.
    • Bulus-Tanis-FrontEnd klasörü altında komut terminali açın başlatın
    • npm install komutunu çalıştırın.
    • npm run serve komutunu çalıştırın
    • FrontEnd default olarak localhost:8080 adresinde çalışacaktır.
    • BackEnd'e erişebilmek için config.backend.js doyası altındaki BASE_URL adresinin Back-End'in çalıştığı adres ile aynı olduğundan emin olun. Default olarak localhost:3000 adresinde çalışacaktır.
  8. Uygulamamızın Özellikleri:

    • Kullanıcı Kayıt
    • Kullanıcı Giriş
    • Gerçek Zamanlı Mesajlaşma
    • Konuşmayı Silme
    • Kullanıcı Çıkış
  9. Emeği Geçenler:

    • Ömer Faruk Kocaefe
    • Metehan Yılmaz
    • Veysi Beyaz
    • Ahmet Bahadır Aksakal
  10. Proje Tanıtım Videosu:

    • ilk_demo_protatip_grup_no_12.mp4
  11. Programdan Görseller:

    • Mesajlaşma
    • Konum Arama
    • Konuma Göre Arkadaş Ekleme
    • Profil Sayfası Ve Bilgileri Güncelleme

About

İnsalarla sohbet edebileceğiniz ve konuma göre filtre uygulayarak belirli bir bölgedeki kullanıcılarla iletişime geçmenizi sağlayacak bir mesajlaşma uygulaması.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 65.0%
  • JavaScript 34.1%
  • HTML 0.9%