rafaelbogfreitas / sacada_do_predio

Sacada do Prédio is a space where neighbours can share their needs or offer help for those in need.

Home Page:http://www.sacadadopredio.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sacada do Prédio

Sacada do prédio

About The Project

The coronavirus pandemic changed the way we function as a society. The social distancing we had to undergo brougth back a sense of community that had been partially lost. Scenes of people gathering in their balconies with their family and neighbours became very common, as well as the problems the communities around the globe started facing due to the pandemic. In face of this situation we decided to create Sacada do Prédio.

Sacada do Prédio is a web application where people can post their needs and other users from their community can help. The idea for the name came from the gatherings in the balconies (Sacada in portuguese). Our balconies are places where we can hang out and connect with people, but they also provide us with a view of our neighbourhood. Why not use it to better understant and help the people of our community?

Our goal is to provide a platform where users can register and post new cases. Whenever a new case is posted, all users within that area are notified so that they can volunteer to help. The users can also see the cases in their community either in a map view or card view.

Built With:

  • NodeJS - JavaScript runtime Server.
  • Express - Web framework.
  • Handlebars - View Engine.
  • MongoDB - NoSQL Database.
  • Mongoose - MongoDB object modeling for Node.js.
  • Axios - Promise based HTTP client for the browser and Node.js.
  • Bcrypt - A library to help you hash passwords.
  • Passport - Simple, unobtrusive authentication for Node.js.
  • Claudinary - Platform for storing images.
  • Nodemailer - Automatic email sending via Node.js.
  • Google OAuth - User authentication via Google account.
  • Google Maps Api - Google Maps and address autocomplete.
  • Hotjar - Website behavior analytics.
  • Tawk.to - Live chat solution for support on our website.
  • Heroku - Cloud platform where the project is deployed.

Getting Started

The application UI consists in three main views:

  • Main page - Information about the project.
  • Dashboard - Dashboard where the user can see the cases nearby on a map or in the cards below.
  • Single case - This is where the user can see the details of a single case and get contact information of the user who registered the case.

The views are illustrated in the screenshots below for desktop and mobile devices:

Desktop views

Mobile views

Prerequisites

In order to run this project locally you will need to:

  • Setup Google API keys for Google Maps and OAuth.
  • Setup Cloudinary API keys.
  • Setup MongoDB locally or on the cloud.
  • Install Node.js.

Installation

  1. Clone the repo
git clone https://github.com/rafaelbogfreitas/sacada_do_predio.git
  1. Install NPM packages
npm install
  1. Run the app
npm start

Or run with Nodemon

npm run dev

Usage

The project is deployed and can be accessed at http://www.sacadadopredio.com/

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch
git checkout -b feature/AmazingFeature
  1. Commit your Changes
git commit -m 'Add some AmazingFeature'
  1. Push to the Branch
git push origin feature/AmazingFeature
  1. Open a Pull Request

Contact

Daniel Paiva - twitter - email - linkedin

Rafael Freitas - website - email - linkedin

Special thanks

About

Sacada do Prédio is a space where neighbours can share their needs or offer help for those in need.

http://www.sacadadopredio.com


Languages

Language:JavaScript 43.5%Language:CSS 33.4%Language:HTML 23.0%