Giter Site home page Giter Site logo

christoschr97 / miru-web Goto Github PK

View Code? Open in Web Editor NEW

This project forked from saeloun/miru-web

0.0 0.0 0.0 10.96 MB

Miru | Time Tracking and Invoicing and Employee Benefits. Built using Ruby On Rails and ReactJS

Home Page: https://miru.so

License: MIT License

Shell 0.18% JavaScript 1.01% Ruby 38.09% TypeScript 56.07% CSS 0.03% HTML 3.14% Dockerfile 0.12% SCSS 1.36% Procfile 0.01%

miru-web's Introduction


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

rvm install $(cat .ruby-version)
  1. Install Node 18.14.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

Running Tests in Parallel

Change database.yml to embed TEST_ENV_NUMBER

test:
  database: miru_web_test_<%= ENV['TEST_ENV_NUMBER'] %>
# Setup parallel specs
bundle exec rake parallel:create

# Copy Schema for new changes on branches
bundle exec rake parallel:prepare

# Run migrations if needed
bundle exec rake parallel:migrate

# Run all specs in parallel
RAILS_ENV=test bundle exec rake parallel:spec

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 [email protected] welcome
Admin [email protected] welcome
Employee [email protected] welcome
Book keeper [email protected] welcome
Client [email protected] welcome

Configure Sentry:

To configure Sentry set the project's sentry dsn as value to SENTRY_DNS environment variable.

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.

miru-web's People

Contributors

akhilgkrishnan avatar shruti-apte avatar apoorv1316 avatar onkar-saeloun avatar prasanthchaduvula avatar shalapatil avatar vipulnsward avatar gowsik-ragunath avatar mayankagnihotri7 avatar aniketkaushik avatar mohinid avatar sudeeptarlekar avatar sanjibroy360 avatar harshaannihal avatar dependabot[bot] avatar ankita012 avatar keshavbiswa avatar swaathi avatar alkesh26 avatar judis007 avatar mohd-anas-ansari avatar deepti-kakade avatar xrimpy avatar rohitjoshixyz avatar shivamsinghchahar avatar aaj013 avatar rajat-tomar avatar nisusam avatar abinashpa avatar murtaza-bagwala 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.