Giter VIP home page Giter VIP logo

area's Introduction

AREA

Build Status

Automation platform of his digital life

๐Ÿ  Homepage

Project structure

Each subfolders contains its own README.md

.
โ”œโ”€โ”€ server - Back-end server with business logic of AREA
โ”œโ”€โ”€ webapp - Front-end Angular web application
โ”œโ”€โ”€ mobile - Front-end Xamarin mobile application

Development workflow

If you want to develop on the server or the webapp, here is how to get started.

1. Prepare your environment

Here comes a little surprise: You need Node.JS and docker-compose.

2. Install the dependencies

$ npm install
$ cd server && npm install
$ cd webapp && npm install

3. Expose the default database port

In the docker-compose.yml, in the db service, add a field ports to expose the default database port.

For PostgreSQL, the default port is 5432.

ports:
    - '8081:5432'

4. Load environment variables

First, load environment variables used in docker-compose.yml with this command :

$ source .travis/.env

5. Run database service

$ docker-compose up --build db

6. Add .env in server directory

We use the well-known dotenv to pre-load environment variables in the server.

ENV=            # actually usused
DB=             # must be postgres
DB_USER=        # must be the same as POSTGRES_USER in docker-compose.yml
DB_PASSWORD=    # must be the same as POSTGRES_PASSWORD in docker-compose.yml
DB_HOST=        # must be localhost
DB_PORT=        # must be the same as in 3. chapter

7. Running server

$ cd server
$ npm run dev

8. Running Angular webapp

$ cd webapp
$ npm start

Contributing rules

  • npm run commit, prompt you to fill out any required commit fields at commit time, to format your commits messages. With husky and lint-staged, it also run linters on git staged files.
  • npm run prettify, lint all files following rules wrote in .prettierrc.
  • npm run release, automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org.

Schema of AREA

Schema of AREA

area's People

Contributors

camillepolice avatar hadi-ilies avatar marco-gautier avatar pacome35220 avatar

Watchers

 avatar  avatar

area's Issues

Build - problem using docker

When I'm launching the server using the docker-compose up --build server, it crashes and I get the following logs:

server_1      | 
server_1      | > area-server@0.0.0 start /app
server_1      | > tsc && node -r dotenv/config build/index.js
server_1      | 
server_1      | /app/node_modules/sequelize/lib/sequelize.js:265
server_1      |       throw new Error('Dialect needs to be explicitly supplied as of v4.0.0');
server_1      |       ^
server_1      | 
server_1      | Error: Dialect needs to be explicitly supplied as of v4.0.0
server_1      |     at new Sequelize (/app/node_modules/sequelize/lib/sequelize.js:265:13)
server_1      |     at Object.<anonymous> (/app/build/database.js:4:19)
server_1      |     at Module._compile (internal/modules/cjs/loader.js:759:30)
server_1      |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
server_1      |     at Module.load (internal/modules/cjs/loader.js:628:32)
server_1      |     at Function.Module._load (internal/modules/cjs/loader.js:555:12)
server_1      |     at Module.require (internal/modules/cjs/loader.js:666:19)
server_1      |     at require (internal/modules/cjs/helpers.js:16:16)
server_1      |     at Object.<anonymous> (/app/build/models/User.js:7:36)
server_1      |     at Module._compile (internal/modules/cjs/loader.js:759:30)
server_1      |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
server_1      |     at Module.load (internal/modules/cjs/loader.js:628:32)
server_1      |     at Function.Module._load (internal/modules/cjs/loader.js:555:12)
server_1      |     at Module.require (internal/modules/cjs/loader.js:666:19)
server_1      |     at require (internal/modules/cjs/helpers.js:16:16)
server_1      |     at Object.<anonymous> (/app/build/controllers/user.js:8:32)
server_1      |     at Module._compile (internal/modules/cjs/loader.js:759:30)
server_1      |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
server_1      |     at Module.load (internal/modules/cjs/loader.js:628:32)
server_1      |     at Function.Module._load (internal/modules/cjs/loader.js:555:12)
server_1      |     at Module.require (internal/modules/cjs/loader.js:666:19)
server_1      |     at require (internal/modules/cjs/helpers.js:16:16)
server_1      | npm ERR! code ELIFECYCLE
server_1      | npm ERR! errno 1
server_1      | npm ERR! area-server@0.0.0 start: `tsc && node -r dotenv/config build/index.js`
server_1      | npm ERR! Exit status 1
server_1      | npm ERR! 
server_1      | npm ERR! Failed at the area-server@0.0.0 start script.
server_1      | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
server_1      | 
server_1      | npm ERR! A complete log of this run can be found in:
server_1      | npm ERR!     /root/.npm/_logs/2020-01-21T05_12_36_050Z-debug.log

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.