# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# README

HeadHome
Your companion, every step of the way
HeadHome Backend
The HeadHome backend is responsible for real-time interactions between the dementia patients, caregivers and volunteers. This ensures that dementia patients can receive timely assistance from caregivers or nearby volunteers and help them to head home safely!π¨π»βπ» Technology Stack
Getting Started
This repo contains the backend application for HeadHome. Click here to view the full solution.
Go (Version 1.19+)
must be installed to run this application.
βοΈ Β Steps to Setup
- Clone Repo
$ git clone https://github.com/GSC23-HeadHome/HeadHome-Backend.git
- Run the following code in bash to install the required dependencies
$ go get all
- Create a
.env
file and insert your Firebase Admin SDK private key and Maps API api key.
Note: Place the entire Firebase Admin SDK private key json object on a single line and escape all\
,\n
and quotation(") characters with\
. Lastly, surround the json object with double quotations""
.
/*.env file*/
FIREBASE_ADMIN_PRIVATE_KEY=<your inline firebase admin private key>
MAPS_API_KEY=<your maps api key>
- Launch the server at
0.0.0.0:8080
$ go run ./cmd
π Β Files and Directories
βββ cmd
βΒ Β βββmain.go
βββ controllers
βΒ Β βββ care_giver_controller.go
βΒ Β βββ care_receiver_controller.go
βΒ Β βββ map_controller.go
βΒ Β βββ sos_controller.go
βΒ Β βββ travel_log_controller.go
βΒ Β βββ volunteers_controller.go
βββ database
βΒ Β βββ care_giver_collection.go
βΒ Β βββ care_receiver_collection.go
βΒ Β βββ database.go
βΒ Β βββ sos_log_collection.go
βΒ Β βββ travel_log_collection.go
βΒ Β βββ volunteers_collection.go
βββ fcm
βΒ Β βββ fcm.go
βββ firebase_app
βΒ Β βββ firebase_app.go
βββ logic
βΒ Β βββ direction.go
βΒ Β βββ util.go
βββ models
βΒ Β βββ care_giver.go
βΒ Β βββ care_receiver.go
βΒ Β βββ sos_log.go
βΒ Β βββ travel_log.go
βΒ Β βββ volunteers.go
βββ routes
βΒ Β βββ routes.go
βββ websocket.go
βΒ Β βββ client.go
βΒ Β βββ msg_pump.go
βΒ Β βββ websocket.go
βΒ Β βββ ws_hub.go
βββ .env (not included in github repo)
βββ .gitignore
βββ Dockerfile
βββ go.mod
βββ go.sum
βββ README.md
π₯ Β Contributors
![]() | ![]() | ![]() | ![]() |
---|---|---|---|
Chay Hui XiangNanyang Technological University | Chang Dao ZhengNanyang Technological University | Marc Chern Di YongNanyang Technological University | Ong Jing XuanNanyang Technological University |