Skip to content
This repository has been archived by the owner on Jul 1, 2022. It is now read-only.

Latest commit

 

History

History
78 lines (51 loc) · 3.22 KB

README.md

File metadata and controls

78 lines (51 loc) · 3.22 KB

Sara · GitHub license

Smart Assistant and Room Automation

What is Sara?

Sara is a lightweight, open-source and configurable control and monitoring system for your room.

At the moment it has a few features such as

  • Light control
  • Temperature monitoring
  • Light level monitoring

My plan is to make Sara easily usable for a variety of internet enabled smart devices such as smart lights, fridges, Google Home, Alexa, etc.

Screenshots

Table of content

Technologies

This project uses multiple technologies centered around the web.

JavaScript

The technology stack mostly uses JavaScript (ES6) both on the client and the server.

This allows for fast developement because of the nature of Javascript but also makes it easier to work on the whole stack at the time, no need to switch between languages for front end and back end.

React

The client app is built using ReactJS, an open-source library built by Facebook and the community.

The project was also bootstraped with create-react-app which lets you quickly, well, create a React application.

NodeJS

The backend which provides the API, serves the React app and interact with other systems like the database and arduino is built on NodeJS.

Amongst the several library used, I used

PostgreSQL

I used PostgreSQL a powerful, open-source SQL Server for my database, paired with node-postgres and pg-promise to communicate with it from the backend.

Arduino

I used an Arduino board and the arduino language (which is basically C++) to connect my sensors and lights to my "server"

RaspberryPi

The whole project runs on a single Raspberry Pi running Raspbian Stretch, a minimal version of the Rasbian distro.

To see a complete list of all technologies used in this project

Using Sara

Warning

This is still in beta, this README (and all other READMEs) are bound to change and might be outdated

Development

For instructions on how to setup Sara, see the development document

Deployment

For instructions on how to deploy Sara, see the deployment document

Updating

For instructions on how to update Sara, see the updating document

License

This project is licensed under the MIT License - see the LICENSE file for details