All Projects → fablabbcn → smartcitizen-web

fablabbcn / smartcitizen-web

Licence: AGPL-3.0 license
The Smart Citizen Kit platform

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
SCSS
7915 projects

Projects that are alternatives of or similar to smartcitizen-web

angular-base-apps
UI library for angular JS apps
Stars: ✭ 62 (+376.92%)
Mutual labels:  angularjs
SensorsAndAi
SensorAndAi is an android application which will give you the complete information about all the sensors and some basic information about artificial intelligence.This application will tell you about the use and implementation of the sensor and artificial intelligence.This app will show you how sensor and artificial intelligence is used in any an…
Stars: ✭ 29 (+123.08%)
Mutual labels:  sensors
angular6-httpclient-example
Angular 6 HttpClient: Consume RESTful API Example
Stars: ✭ 38 (+192.31%)
Mutual labels:  angularjs
node-postgres
This application demonstrates database operations using PostgreSQL as a database, Heroku as platform, Node.js as language and Angularjs as javascript based MVC.
Stars: ✭ 18 (+38.46%)
Mutual labels:  angularjs
wyze-node
An un-official API wrapper for Wyze products
Stars: ✭ 151 (+1061.54%)
Mutual labels:  sensors
angular-admin-panel
An Angular Admin boilerplate to quickly scaffold any large scale enterprise application.
Stars: ✭ 18 (+38.46%)
Mutual labels:  angularjs
PulseTile-AngularJS
Leading edge modular UI framework for healthcare. Based on AngularJS. See documentation at http://docs.pulsetile.com/ See plugins at https://github.com/PulseTile-Plugins ##
Stars: ✭ 19 (+46.15%)
Mutual labels:  angularjs
teammanager
Small team manager written in MEAN stack
Stars: ✭ 30 (+130.77%)
Mutual labels:  angularjs
GiantShaftEnterprises
Incremental idle game about building businesses and shaft mining asteroids....and maybe conquering the galaxy along the way.
Stars: ✭ 41 (+215.38%)
Mutual labels:  angularjs
js-sdk
JavaScript frontend SDK for ConfigCat. ConfigCat is a hosted feature flag service: https://configcat.com. Manage feature toggles across frontend, backend, mobile, desktop apps. Alternative to LaunchDarkly. Management app + feature flag SDKs.
Stars: ✭ 21 (+61.54%)
Mutual labels:  angularjs
HASS.Agent
Windows-based client for Home Assistant. Provides notifications, quick actions, commands, sensors and more.
Stars: ✭ 590 (+4438.46%)
Mutual labels:  sensors
ngTip
angularjs simple tip service with bootstrap alert style
Stars: ✭ 16 (+23.08%)
Mutual labels:  angularjs
sensor
Sensor by Metriful | Indoor environment monitoring | Documentation and code samples
Stars: ✭ 93 (+615.38%)
Mutual labels:  sensors
componentity
Thousands of components ready to be copy-pasted!
Stars: ✭ 15 (+15.38%)
Mutual labels:  angularjs
bme680 to influxdb
Simple script that sends your BME680 temp, pressure, humidity and gas sensor data to InfluxDB.
Stars: ✭ 21 (+61.54%)
Mutual labels:  sensors
Hacktoberfest2021-for-everyone
This repository is for everyone who wants to participate in Hacktoberfest 2022. Anyone can contribute/add quality code or projects for your Swags (T- Shirt), must be relevant that can add some value to this repository.
Stars: ✭ 178 (+1269.23%)
Mutual labels:  angularjs
ublox
Arduino and CMake library for communicating with uBlox GPS receivers.
Stars: ✭ 89 (+584.62%)
Mutual labels:  sensors
laravel5Angular4
Laravel 5.4 & Angular 4.3.4
Stars: ✭ 37 (+184.62%)
Mutual labels:  angularjs
front-end-notes
前端课程学习笔记汇总
Stars: ✭ 57 (+338.46%)
Mutual labels:  angularjs
micro-service-practice
OpenStack+Docker+RestAPI+OAuth/HMAC+RabbitMQ/ZMQ+OpenResty/HAProxy/Nginx/APIGateway+Bootstrap/AngularJS+Ansible+K8S/Mesos/Marathon构建/探索微服务最佳实践。
Stars: ✭ 25 (+92.31%)
Mutual labels:  angularjs

SmartCitizen Web

Deploy to GH Maintainability Test Coverage DOI PRs Welcome

The SmartCitizen front-end. Working together with SmartCitizen API.

Screenshot

Development

Using nvm (recommended but optional) do:

  1. Install the correct Node version:

nvm install

  1. Load the correct version:

nvm use

  1. Install dependencies

npm i

  1. Start development server

gulp serve

To be able to login from localhost:8080 with our real username:password connected to the SC API, we need to comment out the following lines in app.route.js:

/* Allow cookies across *.smartcitizen.me Apps */
$cookiesProvider.defaults.path = '/';
$cookiesProvider.defaults.domain = '.smartcitizen.me';

(We are looking for a better solution).

Prerequisites

You need git to clone the repository. You can get git from http://git-scm.com/.

We also use a number of node.js tools to initialize and test the Web App. You must have node.js and its package manager (npm) installed. You can get them from http://nodejs.org/.

Also gulp: npm install -g gulp (with sudo if you are using Mac).

Clone the project

Clone the repository using:

git clone https://github.com/fablabbcn/smartcitizen-web.git
cd smartcitizen-web

Install dependencies

  • Install tools to manage and test the application: npm install.
  • No need of bower install, npm install will take care of it.

Docker quickstart (optional)

If you want to use Docker in development mode, you should enable the volume: in docker-compose.yml so you won't need to rebuild after every file change. The image needs you to do npm install locally before running the container. It needs the node_modules/ to exist.

docker-compose up

Use Gulp tasks

  • gulp or gulp build to build an optimized version of your application in /dist
  • npm run dev (or gulp serve) to launch a browser sync server on your source files
  • gulp serve:dist to launch a server on your optimized application
  • gulp test to launch your unit tests with Karma
  • gulp test:auto to launch your unit tests with Karma in watch mode
  • gulp protractor to launch your e2e tests with Protractor. Tests are in the ./e2e/ folder.
  • gulp protractor:dist to launch your e2e tests with Protractor on the dist files
  • npm run deploy to publish the project to Github pages (gh-pages branch).

Note: in case you see something like:

Error: Command failed: fatal: unable to read c6a8d370f3e95d9110eca4a03b704bd8940ca40b

Run: rm -Rf $(node -e "console.log(require('path').join(require('os').tmpdir(), 'tmpRepo'))")

Talking to a different API

In app.route.js the app can be configured to talk to another API: RestangularProvider.setBaseUrl('http://localhost:3000/v0');

Directory structure

Best Practice Recommendations for Angular App Structure

Git Commit Guidelines

Visit https://github.com/ajoslin/conventional-changelog/blob/master/CONVENTIONS.md

Naming conventions for files

Same for all types of components: ..js Ex: kit.controller.js, sensor.service.js, profileTools.constant.js

Naming conventions for components

Controller: Controller. Ex: MapController Service: . Ex: device, kit, user Constructor: . Ex: User, Kit. Note: Constructors are actually made using services. Constants: . Ex: PROFILE_TOOLS

For data that has been resolved from the router, I've normally appended 'Data' to the name.

Deployment

Master branch is auto deployed to https://smartcitizen.me/ which is on Github Pages

Funding

This work has received funding from the European Union's Horizon 2020 research and innovation program under the grant agreement No. 689954

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].