All Projects → MissMeg → home-automation-app

MissMeg / home-automation-app

Licence: other
An app to show weather, todos, calendar events, and a grocery list using a touch display and a raspberry pi.

Programming Languages

HTML
75241 projects
python
139335 projects - #7 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to home-automation-app

simplePythonProgram
No description or website provided.
Stars: ✭ 21 (-34.37%)
Mutual labels:  hacktoberfest2020
DigiPass
DigiPass (Paywall) WordPress plugin
Stars: ✭ 11 (-65.62%)
Mutual labels:  hacktoberfest2020
andaluh-js
Transliterate español (spanish) spelling to andaluz proposals using javascript
Stars: ✭ 22 (-31.25%)
Mutual labels:  hacktoberfest2020
react-simple-boilerplate
Simple React Boilerplate with Webpack, Github Actions, Scss, Lazy Loading etc....
Stars: ✭ 38 (+18.75%)
Mutual labels:  hacktoberfest2020
HACKTOBERFEST-2020-flutter-interview-questions
Flutter interview questions with answers
Stars: ✭ 44 (+37.5%)
Mutual labels:  hacktoberfest2020
Instagram-Giveaways-Winner
Instagram Bot which when given a post url will spam mentions to increase the chances of winning. Win Instagram Giveaways!
Stars: ✭ 95 (+196.88%)
Mutual labels:  hacktoberfest2020
defundthepolice
Defund The Police
Stars: ✭ 21 (-34.37%)
Mutual labels:  hacktoberfest2020
moon-cheeser
Moon Cheeser is an infinite runner where the player plays as a mouse gathering cheese pieces and avoiding craters and other astronomical objects, such as comets and planets, on a moon made of cheese.
Stars: ✭ 32 (+0%)
Mutual labels:  hacktoberfest2020
FirstPRChallenge
Kick start your Open Source by making your personalized profile card
Stars: ✭ 14 (-56.25%)
Mutual labels:  hacktoberfest2020
Good-Client-Bad-Client
Help us build a Credit Card Approval system - using Machine Learning!
Stars: ✭ 18 (-43.75%)
Mutual labels:  hacktoberfest2020
ngecilin
Chrome Extension to shorten your looooong URL
Stars: ✭ 23 (-28.12%)
Mutual labels:  hacktoberfest2020
sugestoes-temas
Repositório de sugestões para temas para talks, posts, podcasts, vídeos e/ou qualquer outro conteúdo voltado Android.
Stars: ✭ 33 (+3.13%)
Mutual labels:  hacktoberfest2020
o-fish-android
Android app for the Officer's Fishery Information Sharing Hub (O-FISH). The mobile app allows fisheries officers to document and share critical information gathered during a routine vessel inspection.
Stars: ✭ 19 (-40.62%)
Mutual labels:  hacktoberfest2020
companies-on-blm
We are collecting corporate statements in response to racial injustice, along with Diversity/Inclusion reports and ICE contract information. We have several issues for requested companies, please feel free to add more!
Stars: ✭ 21 (-34.37%)
Mutual labels:  hacktoberfest2020
o-fish-realm
Realm application code and sample data for the Officer's Fishery Information Sharing Hub (O-FISH). The mobile app allows fisheries officers to document and share critical information gathered during a routine vessel inspection. The web app allows agencies to gain insights from the aggregated information.
Stars: ✭ 23 (-28.12%)
Mutual labels:  hacktoberfest2020
SoundTouch-Chrome-Extension
📢 💻 SoundTouch Bose Chrome Extension, Display the current playing music, control the Soundtouch and more...
Stars: ✭ 17 (-46.87%)
Mutual labels:  hacktoberfest2020
RustLabs
The Ultimate Workshop Track for #Rust Developer
Stars: ✭ 22 (-31.25%)
Mutual labels:  hacktoberfest2020
docs
No description or website provided.
Stars: ✭ 16 (-50%)
Mutual labels:  hacktoberfest2020
templates
tsParticles website templates collection
Stars: ✭ 42 (+31.25%)
Mutual labels:  hacktoberfest2020
competetive-code-hacktoberfest
For Hacktoberfest Contribution
Stars: ✭ 14 (-56.25%)
Mutual labels:  hacktoberfest2020

Home Automation App

The goal of this app is to make information more accessible and to have a single place to hold information valuable to a family. The project is made as a website interface so everyone can follow along.

Table of Contents

Skills Practiced

  • Api connections
  • Database Models
  • Creating a Database
  • CRUD with Database items
  • Routes and "live" site with Flask

Current Features

Current features are in the works. They will consist of:

  • Daily weather forecast + next 3 days
  • Grocery list
  • ToDo list
  • Calendar events for the day

Running the Project (without Docker)

You will need Python version 3. This project utilizes pipenv to run:

  1. Download the project
  2. Make sure you have pipenv installed - python -m pip install pipenv or pip install pipenv
  3. Create the environment with python -m pipenv shell
  4. Install the dependencies - pipenv install --ignore-pipfile
  5. Run with pipenv run python app.py

To run this project in development mode:

  1. Download the project
  2. Make sure you have pipenv installed - python -m pip install pipenv or pip install pipenv
  3. Create the environment with python -m pipenv shell
  4. Install the dependencies - pipenv install --dev
  5. Run with pipenv run python app.py

Running the Project (WITH Docker)

With this approach you save more time as Docker containerizes the entire platform abstracting dependency issues away from developers.

  1. Install Docker daemon

    1. Run project (with Dockerfile)
    2. Run project (with docker-compose, the easiest/fastest way)

Install Docker daemon

Download the Docker desktop locally from here. Select your OS and download the agent. e.g. If you are using a Mac, please click "Mac" > "Install Docker Desktop on Mac" > click "Download from Docker Hub"

Run project (with Dockerfile)

The easiest way to run this project is using the command line below:

docker build -t home-automation-app . && \
  docker run --env-file .env.home_automation_app -p 8000:8000 home-automation-app

This uses the Dockerfile to do the setup for us. After building the app, we tell the Docker agent to run using our .env file. This is only accesible by you and you must not share these details to anyone.

WEATHER_KEY=YOUR_API_KEY
WEATHER_CITY=YOUR_CITY
WEATHER_STATE=YOUR_STATE
CAL_ID=YOUR_CALENDAR_ID

Run project (with docker-compose)

An even easier way to run the app is just configure your .env file (like above) but run the command below:

docker-compose up -d

Docker compose is just like Dockerfile, but it's more useful as an ochestration tool to launch multiple docker containers.

API in keys.py

You will need to create your own keys.py file and include your API information.

  • Weather API

    • variables: weather_key = api key, city = your city, state = your state
  • If you want to connect to a specific Google Calendar (other than your primary one) you will need to grab the calendar's ID from it's settings (click on the gear icon in the top right of your screen, select "Settings", and scroll down to 'Integrate calendar')

    • variable: cal_key = calendar id

example keys.py

weather_key = "Api key"
city = "Your city"
state = "Your state"
cal_key = "Calender id"

Weather API

Create an OpenWeather account to get an API key. Add the key to your keys.py file. You can find the docs here for the specific API connection being used.

Google Calendar API

Complete step 1 from Google's documentation. Make sure you are logged in with the Google account you want to use.

Download your credentials (file should be called credentials.json) and add the file to your directory and to your .gitignore file.

Todos and Grocery List

Both the Todos and Grocery list are using Peewee to create a SQLite database.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].