GithubHelp home page GithubHelp logo

shravankshenoy / avni-webapp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from avniproject/avni-webapp

0.0 0.0 0.0 17.47 MB

Web application for management and data entry

Home Page: https://avniproject.org

License: GNU Affero General Public License v3.0

JavaScript 99.50% CSS 0.28% Makefile 0.16% HTML 0.05% Dockerfile 0.01%

avni-webapp's Introduction

Readme

You will need yarn package mananger to be installed globally to run this project. Follow the instructions on https://yarnpkg.com/en/docs/install to install yarn if it is not already installed on your machine. Once installed you can verify it by running yarn -v on terminal. It should return whatever is the latest version mentioned on https://yarnpkg.com/en/docs/install.

Install dependencies

Once yarn is installed run the following:

make deps

Setup

There are two possible ways to setup Avni Webapp for developement:

  1. You can setup the webapp in a way that it directly connects to the hosted API server so you don't have to setup local postgres database and Java API server. This is an easy way to get started as you don't have to worry about having to install Java and API Server. Also this will consume less resources on your system as you are not running API server.
  2. You can setup local postgres database and API server also locally and connect the webapp to that server. This is more difficult as it involves having to install Postgres, Java and running Java API Server.

1. Setup to connect to hosted API Server (Samanvay hosted staging server)

make start-with-staging

2. Setup to connect to your local API Server

  1. Start your Java Server. For this refer to product developement setup document.
  2. Run make start in avni-webapp directory.
  3. It will assume whatever user you started the Java Server with since we don't do authentication when running the server locally. If you want to change the user then restart the webapp after setting environment variable REACT_APP_DEV_ENV_USER to user you want. E.g. start the server like REACT_APP_DEV_ENV_USER=ihmp-admin make start.

Contributing

Pull requests

File/folder structure

  • There are multiple apps inside this repository
    • Admin (Allow admins to do admin work like creating organisations, users, locations)
    • App Designer (Allow admins to design the app)
    • Reports (Allow admins to download longitudnal reports)
    • Translations (Allow admins to upload translations)
    • Data Entry App (Allow users to do data entry using web based app)
  • Folders per route/feature (See https://marmelab.com/blog/2015/12/17/react-directory-structure.html)
  • Reducers and actions in 'ducks' structure (See https://github.com/erikras/ducks-modular-redux). This is not applicable for App Designer as it does not use Redux.

Code Style

  • We use Prettier for javascript/jsx formatting. You can use your IDE/Editor specific Plugin to format code using Prettier. Alternatively there is also a command make prettier-all that will format all files in src folder using Prettier. And there also is a git precommit hook that formats staged files using prettier before commiting.

Continuous Integration

All commits are built and tested and deployed to staging if tests succeed. Build status can be seen at https://circleci.com/gh/OpenCHS/openchs-webapp. Please run tests using make test before you push your code so you don't end up breaking things unnecessarily.

avni-webapp's People

Contributors

vindeolal avatar hithacker avatar swapnil106111 avatar petmongrels avatar himeshr avatar 1t5j0y avatar eshwarjoshipsl avatar vinayvenu avatar narendranath-pasupuleti-psl avatar amarkamthe avatar charl3sj avatar sidsamanvay avatar darshanatakpsl avatar mahalakshme avatar sachsk avatar ramyaedapalapatipsl avatar ramyaedapalapati avatar garimadosar5 avatar sidtharthanan avatar vedfordev avatar arjunk avatar amolnirmalpsl avatar shivamragnar avatar rudresh avatar dependabot[bot] avatar eshjoshi avatar yenugukeerthana avatar nupoorkhandelwal avatar himeshr-egov avatar rashmidavandepsl avatar

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.