Updated repo information

This commit is contained in:
Zakary Timson 2023-12-03 18:59:10 -05:00
parent 45478255bb
commit 0a4ab8475e
7 changed files with 93 additions and 94 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@
.vscode
node_modules
dist

11
LICENSE.txt Normal file
View File

@ -0,0 +1,11 @@
Copyright (c) 2023 Zakary Timson
All Rights Reserved.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -1,10 +1,73 @@
# HomeFront-Battery
<!-- Header -->
<div id="top" align="center">
<br />
After obtaining 4 Tesla battery modules from a model X, a client and I decided to build our own knock off Tesla power wall and hook it up to a solar array to create an offgrid system. Part of this project was to log the voltage, battery tempature and control a set of fans through a website so it could be controleld and monitored remotely.
<!-- Logo -->
<img src="./website/src/assets/icon.png" alt="Logo" width="200" height="200">
We accomplished the software side in 3 steps:
- An arduino to log the raw data from sensors and transmit them over the serial port (See the arduino.ini file)
- A raspberry pi to recieve the serial data and send it to the cloud DB (See the monitor.js file)
- [A website to display the recorded data live](https://github.com/ztimson/HomeFront)
<!-- Title -->
### HomeFront
<img src="./pictures/Resized_20181124_121520_5410.jpg" width="45%" height="auto"> <img src="./pictures/03e615d9-f1b3-4439-9341-185cd3c14f3f.jpg" width="45%" height="auto">
<!-- Description -->
Simple repository template
<!-- Repo badges -->
[![Version](https://img.shields.io/badge/dynamic/json.svg?label=Version&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/home-front/tags&query=$[0].name)](https://git.zakscode.com/ztimson/home-front/tags)
[![Pull Requests](https://img.shields.io/badge/dynamic/json.svg?label=Pull%20Requests&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/home-front&query=open_pr_counter)](https://git.zakscode.com/ztimson/home-front/pulls)
[![Issues](https://img.shields.io/badge/dynamic/json.svg?label=Issues&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/home-front&query=open_issues_count)](https://git.zakscode.com/ztimson/template/issues)
---
</div>
## Table of Contents
- [HomeFront](#top)
- [About](#about)
- [Built With](#built-with)
- [Setup](#setup)
- [Development](#development)
- [License](#license)
## About
<img src="./pictures/Resized_20181124_121520_5410.jpg" width="40%" height="auto"> <img src="./pictures/03e615d9-f1b3-4439-9341-185cd3c14f3f.jpg" width="40%" height="auto">
After obtaining 4 Tesla battery modules, I was contracted to build a device to record battery voltages & temperatures. This was accomplished using some custom circutry and
an arduino. These input values were then read by a Raspberry Pi & published to a web UI for remote viewing.
Later on the arduino was removed and the raspberry pi was directly interfaced with an upgraded Battery Charging Module which was able to read values directly from the batteries
onboard computer.
The code is split into two pieces:
- Website for viewing data
- Arduino & Raspberry Pi code to collect & publish battery data
### Built With
[![Angular](https://img.shields.io/badge/Angular-DD0031?style=for-the-badge&logo=angular)](https://angular.io/)
[![Arduino](https://img.shields.io/badge/Arduino-00878F?style=for-the-badge&logo=arduino&logoColor=white)](https://www.arduino.cc/)
[![Firebase](https://img.shields.io/badge/Firebase-FFFFFF?style=for-the-badge&logo=firebase)](https://firebase.google.com/)
[![Shell](https://img.shields.io/badge/Shell-000000?style=for-the-badge&logo=windowsterminal&logoColor=00ff00)](https://en.wikipedia.org/wiki/Shell_script)
[![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](https://typescriptlang.org/)
## Setup
<details>
<summary>
<h3 id="development" style="display: inline">
Development
</h3>
</summary>
#### Prerequisites
- [Node.js](https://nodejs.org/en/download)
#### Instructions
1. Install the dependencies: `npm install`
2. Start the Angular server: `npm run start`
3. Open [http://localhost:4200](http://localhost:4200)
</details>
## License
Copyright © 2023 Zakary Timson | All Rights Reserved
See the [license](./LICENSE) for more information.

View File

@ -1,33 +0,0 @@
version: 2
jobs:
build:
docker:
- image: circleci/node:12.14-browsers
working_directory: ~/repo
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}
- v1-dependencies-
- run:
name: Install Dependancies
command: yarn
- save_cache:
key: v1-dependencies-{{ checksum "package.json" }}
paths:
- node_modules
- functions/node_modules
- run:
name: Build
command: npm run build
- run:
name: Deploy
command: npm run deploy

45
website/.gitignore vendored
View File

@ -1,45 +0,0 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.
# compiled output
/dist
/tmp
/out-tsc
# Only exists if Bazel was run
/bazel-out
# dependencies
/node_modules
# profiling files
chrome-profiler-events*.json
# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace
# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.history/*
# misc
/.sass-cache
/connect.lock
/coverage
/libpeerconnection.log
npm-debug.log
yarn-error.log
testem.log
/typings
# System Files
.DS_Store
Thumbs.db

View File

@ -2,14 +2,8 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./out-tsc/app",
"types": []
},
"files": [
"src/main.ts",
"src/polyfills.ts"
],
"include": [
"src/**/*.d.ts"
]
}

View File

@ -4,7 +4,8 @@
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"baseUrl": "./",
"outDir": "./dist/out-tsc",
// "outDir": "./dist/out-tsc",
"outDir": "./out-tsc/app",
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitReturns": false,
@ -25,6 +26,13 @@
"dom"
]
},
"files": [
"src/main.ts",
"src/polyfills.ts"
],
"include": [
"src/**/*.d.ts"
],
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": true,