Giter VIP home page Giter VIP logo

simonwep / ocular Goto Github PK

View Code? Open in Web Editor NEW
14.0 2.0 4.0 4.95 MB

๐Ÿ’ฐ Simplistic, beautiful and straight-forward budgeting app to track your budget across the years. Easy to use, to get started and to set up.

Home Page: https://ocular.reinisch.io

License: MIT License

HTML 1.15% Vue 68.48% TypeScript 22.76% SCSS 7.27% Dockerfile 0.33%
budget-app budgeting finance finance-management self-hosted budgets cash-flow expenses financial personal-finance

ocular's Introduction


Logo


โœจ Ocular - Helps you see your budgets more clearly โœจ

CI Status

Tip

Check out the demo to get a live preview with demo data!

Features

  • ๐Ÿฆพ Self-hosted. Deploy it via docker-compose in seconds.
  • ๐Ÿ•ถ๏ธ Beautiful light and dark theme.
  • ๐Ÿ’ป Installable as a PWA.
  • ๐Ÿ”ผ Import your data from Google sheet's annual planner.
  • ๐Ÿ› ๏ธ Export your data as a single .json-file.
  • โœจ Dashboard with sankey diagram and a detailed view.
  • ๐ŸŽ‡ Track budgets across multiple years.
  • ๐Ÿ™ˆ Privacy mode for when you're in a public place.
  • โšก๏ธ Simple, fast and straight-forward UI.
  • ๐Ÿซ‚ User management and authentication.
  • ...and more to come!

Summary

Ocular is a small budgeting app as an alternative to Google sheet's annual budget planner. Its goal is not to track individual expenses, work with multiple currencies at a time or anything related (if you're looking for something like this, check out firefly-iii).

This app comes with its own backend (by using genesis), so the only thing you need to do is to host it somewhere. Your data stays on your server and is not shared with anyone else.

Setup

Development

  1. Make sure you have the latest node LTS installed.
  2. Install pnpm via npm i -g pnpm.
  3. Clone this repository.
  4. Run pnpm install in the root directory.
  5. Copy the .env.example to .env, you can leave the default values.
  6. Start the backend with pnpm run genesis.
  7. Start the frontend with pnpm run dev.
  8. Open http://localhost:3000 in your browser.

Note

To modify the backend, head over to genesis.

Production

This app is deployed using docker-compose. See ocular-docker for deployment.

Contributing

If you want to work on this, make sure to out the contributing guidelines :) Other than that, follow the steps under development to get started.

ocular's People

Contributors

simonwep avatar

Stargazers

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

Watchers

 avatar  avatar

ocular's Issues

Add a way to view monthly expenses on the dashboard

Right now theres only one sankey-diagram showing the income / expenses of the whole year. It'd be nice to take the average of everything and add a button to display the same diagram on a monthly basis.

Convert dashboard overview to one single table

Right now, Income, Expenses and Summary are separate tables:

image

Causing 3 separate scrollbars on both small desktops and mobile devices:

image

If we use one (giant) table for all, we will have only one scrollbar as well as more space around and on the sides (due to the borders being redundant).

Add quick actions to cells

For starters it'd be nice to have a "fill row" and "fill all to the right" action to the cell you're currently editing.

Add new settings page

The user should have the ability to configure the planner according to their needs. This may include:

  • Changing the currency.
  • Changing the locale manually to something different than the browsers default.

Add privacy mode

Especially when working in a public place it'd be nice to have a mode where all numbers are somewhat hidden and only visible on hover.

Make it more accessible on mobile devices

Currently, the app is rather difficult to use on small screens due to tables:

This issue includes:

  • Adding a different way of viewing / entering data in budget-panes.
  • Displaying only one month at a time in the dashboard summary tab.
  • Hide or adjust the position of context menus.

Add offline capabilities

Right now, the data is only one giant object that could be stored locally and synced if the user comes back online.

Make mobile design look more native

When installing the app as a PWA on a mobile device, it still looks quite like a website. With buttons a tad too small and too many menu items. The text could also be bigger.

Also, the app is for some reason rounded even though it's in fullscreen on mobile devices.

Allow users to copy over one year to another

In most cases you always have a "default" set of categories / budgets which are used every year. Instead of starting from scratch every time it'd be nice if there was an option to copy over one year to another.

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.