- Abilash Sasitharan - Role: Front-End development. SOEN student. Background in: HTML, CSS, Javascript & Java
- Joerexpradeepan Thambaiah - Role: Back-End. COEN student. Background in: C++, Python & Java
- Killian Hedou - Role: Front-End development. SOEN student. Background in: HTML, CSS, Javascript & Java
- Kateryna Sizova - Role: Back-End development. COEN student. Background in: C++ & Java
- Nabih El-helou - Role: Front-End development. SOEN student. Background in: HTML, CSS, Javascript, Java & C++
- Penoelo Thibeaud - Role: Back-End development. COEN student. Background in: C++, Python & Java
Front-End: React
Back-End: Node.js & Express.js
Database: MongoDB
The Google Maps API will be used to show location of properties on a map.
To host our webapp, we have a DigitalOcean server.
The reason these technologies were chosen is because we really wanted to use React for our front-end. It is a very useful framework to know, being used in many companies today. Furthermore, we wanted to use MongoDB over an SQL database since our research led us to believe it would be easier to learn and implement for our project. A big element we had to consider as well was every team member needs to learn the language needed for the project. The MERN stack is built on javascript, so we mainly need to focus our learning on one language.
To arrive to our tech-stack decision we did assessments on several front-end and back-end frameworks.
Django (Python)
Strengths: Comprehensive, built-in admin, ORM support.
Drawbacks: Can be overkill for simple apps, slightly steeper learning curve.
Express.js (Node.js)
Strengths: Lightweight, flexible, vast npm ecosystem.
Drawbacks: Less structured, might require more manual configurations.
Spring Boot (Java)
Strengths: Robust, great for enterprise applications, strong security features.
Drawbacks: Heavier, more verbose, steeper learning curve for newcomers.
Strengths: Component-based, vast ecosystem, virtual DOM for efficiency. Very prevalent in workforce.
Drawbacks: Only a library (for the view layer), requires additional tools for full-fledged SPA.
Vue.js
Strengths: Intuitive, easy learning curve.
Drawbacks: Smaller community compared to React, fewer job opportunities.
Angular
Strengths: Full-fledged framework, two-way data binding, TypeScript integration.
Drawbacks: Steeper learning curve, heavy for simple applications.
MongoDB Usage Guide
Creating a React Application
Installing Express.js
Downloading Node.js