/miru-web

Miru | Time Tracking and Invoicing and Employee Benefits. Built using RubyonRails and ReactJS

Primary LanguageRubyMIT LicenseMIT


Miru is an open-source tool, designed to make time tracking, invoice management, and accounting easy for small businesses worldwide. It is a platform for organizations to help them streamline their workflow.

Build status GitHub contributors GitHub stars GitHub release (latest by date) GitHub commit activity GitHub license Twitter Follow Miru Monthly Timetracking page

Miru Invoice page


Installation

  1. Clone repo to local
git clone https://github.com/saeloun/miru-web.git
  1. Install rvm and nvm

    (Tip: To allow nvm to automatically detect and change node versions for your project as you cd into the directory follow this)

  2. Install ruby 3.2.0

rvm install $(cat .ruby-version)
  1. Install Node 16.4.2(can be skipped if you followed the tip mentioned in (2) above)
nvm install $(cat .nvmrc)
  1. Install Postgres
brew install postgresql
  1. Install elasticsearch
brew install elastic/tap/elasticsearch-full
brew services start elasticsearch-full

To run elasticsearch on latest macos(ventura) please follow the below instructions

docker run -dp 127.0.0.1:9200:9200 -p 127.0.0.1:9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.17.7
  1. Install Redis
brew install redis
  1. Setup the app
# Go to the miru-web app directory

bin/setup
  1. Run app in local env
foreman start -f Procfile.dev
  1. Navigate to http://0.0.0.0:3000

To receive the emails in non-production apps.

Go to /sent_emails for accessing the emails(for /sent_emails route to work, add EMAIL_DELIVERY_METHOD='letter_opener_web' to .env)

Tests & Coverage

Tests

  1. Run bin/rails db:create RAILS_ENV=test
  2. Run bin/rails db:migrate RAILS_ENV=test
  3. Run bundle exec rspec

Coverage

  1. Run COVERAGE=true bundle exec rspec
  2. Open coverage/index.html(open coverage/index.html in MacOS and xdg-open coverage/index.html in Debian/Ubuntu)

Testing in Review apps

User Test credentials

Role Email Password
Owner vipul@example.com password
Admin supriya@example.com password
Employee akhil@example.com password

Installation of Cypress Dependencies

Install the cypress dependencies using the following command:

cd cypress
yarn install

Running Cypress tests

Cypress tests can be run on local, staging and production environment.

To run the cypress tests on the local environment and in headless mode use the following command:

cd cypress
yarn run cy:run:dev

To run the tests on local environment and in chrome browser use the following command:

cd cypress
yarn run cy:open:dev

To run the tests on staging environment and in headless mode use the following command:

cd cypress
yarn run cy:run:staging

To run the tests on staging environment and in chrome browser use the following command

cd cypress
yarn run cy:open:staging

Community Support

Contributing

We encourage everyone to contribute to Miru Web! Check out Contributing Guide for guidelines about how to proceed..

Note: We are working on improving the documentation. So we had created a docusaurus app for documentation. Check out the Miru Docs Repo.

Contributors ✨

Thanks goes to all our contributors

License

Miru © 2023, Saeloun - Released under the MIT License.