GithubHelp home page GithubHelp logo

saeloun / miru-web Goto Github PK

View Code? Open in Web Editor NEW
179.0 12.0 69.0 14.74 MB

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

Home Page: https://miru.so

License: MIT License

Ruby 37.65% JavaScript 1.12% CSS 0.12% HTML 3.52% TypeScript 56.07% Shell 0.15% SCSS 1.18% Procfile 0.01% Dockerfile 0.18%
heroku javascript rails ruby react timetracking invoicing hacktoberfest internal-tools time-tracking-app

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.

Github CI GitHub contributors GitHub stars GitHub release (latest by date) GitHub commit activity GitHub license Twitter Follow

Miru Monthly Timetracking page

Miru Invoice page


Major Features

  • πŸ•’ Time Tracking: Intuitive time tracking tools for effortless monitoring of work hours.

  • πŸ’Ό Invoicing: Create professional invoices with ease, using time tracking data. Send invoices directly to clients via email for prompt payment processing.

  • πŸ‘₯ Team Page: Collaborative workspace to manage your team's work efficiently.

  • πŸ‘€ Client Page: Centralized client management system for maintaining client information. Easily access client details when creating invoices or reports.

  • 🏒 Client Portal: Access a client-specific dashboard for a quick overview of all invoices with update status.

  • πŸš€ Projects: Dashboard to add new projects, team members, and rates.

  • πŸ“Š Reports Page: Generate comprehensive reports for insights into project performance. View time tracking data, expenses, and revenue summaries. Export reports in various formats (PDF, CSV) for sharing or record-keeping.

  • πŸ’³ Integration with Payment Gateways: Seamlessly connect with STRIPE for quick and secure payments. Accept payments directly through Miru.so to streamline invoicing and payment processing.

Upcoming Features

  • πŸ’° Expense Tracking: Keep track of project-related expenses and allocate them to clients or projects. Capture receipts and attach them to expense entries for documentation. Include expenses in invoices for transparent billing.

  • 🌐 Multi-Platform Accessibility: Access Miru.so from web browsers, desktop applications, and mobile devices. Synchronize data across platforms for flexibility and convenience.

  • πŸ–οΈ PTO Module: A comprehensive leave management module.

  • πŸ“… Google Integration: Integration to track and add meetings directly.

Documentation

For detailed information on how to use Miru Web and its various features, please refer to our official documentation:

Official Documentation

The documentation covers everything from installation and setup to advanced usage and troubleshooting. It's the best resource for getting started with Miru Web.

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 created a docusaurus app for documentation. Check out the Miru Docs.

Contributors ✨

Thanks goes to all our contributors

License

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

miru-web's People

Contributors

aaj013 avatar adititipnis avatar akhilgkrishnan avatar alkesh26 avatar aniketkaushik avatar ankita012 avatar apoorv1316 avatar deepti-kakade avatar dependabot[bot] avatar gowsik-ragunath avatar harshaannihal avatar judis007 avatar keshavbiswa avatar mayankagnihotri7 avatar mohd-anas-ansari avatar mohinid avatar nisusam avatar onkar-saeloun avatar prasanthchaduvula avatar rajat-tomar avatar rohitjoshixyz avatar sanjibroy360 avatar shalapatil avatar shivamsinghchahar avatar shruti-apte avatar sonamvg avatar sudeeptarlekar avatar swaathi avatar vipulnsward avatar xrimpy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

miru-web's Issues

Setup Devise and User model

  1. Build a User model.
  2. Use devise gem for creating the user model.
  3. Add validation that first_name, last_name, and email and password is required field.
  4. Add length validation(maximum: 50) for first_name and last_name field.
  5. Add a unique index for email.
  6. Add validation for verifying the email address.
  7. Add length validation for the password (minimum: 6)
  8. Add a not-null constraint to the email, first_name, and last_name column.
  9. Add unit tests for User models that all the validations mentioned above are met.
  10. Use minitest for writing test

Build a user and API authentication mechanism.

We are using API style where the server (Rails) will primarily send data as JSON API and the client (React) will build the HTML. This is different from the "pure API" style. Here the frontend code and the backend code are in the same repository.
So all our communication happens through API. We need to authenticate each API request from React.

  • Explore the best mechanism for implementing API authentication in react + rails.
  • Implement the authentication mechanism in rails based on the findings.

Add role attribute to the User table

  1. There are two roles: β€œadmin” and β€œemployee” (regular user).
  2. The default role for a user would be β€œemployee”.
  3. Use enums for creating role attributes.

An admin user should be able to edit & delete a member details from team page.

  • Admin User should able to edit a member details
  • Admin user should be able to delete a member from the team

Note: Add a new field in User table "state", which should be an enum "active" and "inactive". We don't want to delete the user record completely from our database. For delete, we can just update the user state to inactive.

After new user signup, message should be displayed for email verification on login form.

Currently, after these sign up, they are redirected to the sign in form. The user is not informed that they need to click on the link in the email sent to login.

Expected : After the user signs up on Miru, on the sign up form a message should be displayed "An email has been sent to the registered email address. Please verify the link in the email to log in to Miru"

Add sign up with Google option

Note:

  • User should be able to sign up with google. ( User role should be the owner )
  • Collect First name, last name, profile picture from google
  • Skip Email confirmation for users those who sign up with google.

Add daily time tracking/calendar view

  • The employee/admin can able to add a new timesheet entry
  • The employee/admin can able to view the submitted timesheet entries.
  • The employee/admin can able to view the timesheet based on day

Customise the error message displayed on forgot password page.

Currently standard messages are being displayed during the forgot password pages.

  1. If the passwords don't match
  2. In case if we enter the email address which is not registered.
  3. If the password do not meet the criteria i.e. should be 6 characters minimum

Build the root page

Parent Issue: #41
--- Expected Behaviour ---

When I login in :
As an employee,

  • I should be able to see the Navbar with the appropriate menu options. The time tracking should be the default option.
  • I should log out of the app

As an admin,

  • I should be able to see the Navbar with the appropriate menu options. Dashboard page should be default.
  • I should log out of the app

Build user profile page

  • Route /profile
  • User should be able to view the details
  • User should be able to update the details

Fix the issues on Signup/login page

First name - Add validation that only alphabets can be entered. No numbers and special characters are allowed. Also the fields cannot be blank. So we need to show the * sign against the field.
Change the error message, position and format displayed when
1. Valid email address is not entered
2. Password are too short
3. Passwords do not match.
Change the content of email received to verify the email address after signing up.

Changes to Organisation setup page.

  1. Company Name - Cannot be blank.
  2. Logo - Edit icon should be displayed to remove the logo and upload new one.
  3. Default country selected is Andorra - Lets make it as "Please select"
  4. Default timezone selected is Andorra - Lets make it as "Please select"
  5. Base Currency should be mandatory field. Please add a asterik sign against the field label- Lets make it as "Please select"
  6. Fiscal year - Only two options should be displayed i.e. January -December & April - March
  7. Business phone should not be an optional field.

Client Page

  • Admin and Owner should be able to view the complete client page
  • Users should be able to see the list of clients
  • All users should be able to search a client

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.