loading...

Jelly Fin: Attacking The Monolith

sublimegeek profile image Jonathan Irvin ・1 min read

Hey Jellies!

What a ride it has been so far! We've got an amazing amount of interest in Jelly Fin from all walks of experience and it's just been wonderful meeting new people who are interested in contributing.

As you may know, we were initially building a mobile native app using React Native and I was tearing my hair out trying to get a build green with a simple smoke test.

Already, my little "Hello, World" had outgrown itself and we, as a team, needed to step back and evaluate. We're finding our traction and refactoring to get everything copacetic.

Attacking The Monolith

So, since we have a GitHub organization, I'm taking this opportunity to break up our monolithic structure into separate parts:

  • jelly-fin - The main project. Will be React Native and represent native apps for iOS and Android
  • jelly-fin-api - Our backend. This will house our FireBase functions and other items related to the API.
  • jelly-fin-web - Our Web Client. This will be a VueJS web app that will have a responsive design but also functions as a hub for larger operations.

We're Launching A Web Version!

Ok, I'm a little excited for this one. I was going to wait until after we had a mobile version going, but after thinking about it, Jelly Fin (at its heart) can play on both frontiers.

I've decided that the best approach for this is VueJS. I've used Vue in a past job and it was very easy to pick up on. It borrows from Angular and React, so if you have experience in either, it should be easy to pick up. If you have experience in neither, Vue has some of the best documentation out there.

Also, within seconds, I was able to spin up the project and have everything I needed with linting, tests, and even precommit-formatting! I've missed that about JavaScript tools.

We're still actively looking for contributors, so if you want to get in at the ground floor, come check us out!

Main Project

jelly-fin / jelly-fin

A simple way to manage your finances with forecasting. We should automate our money, not make it automate us.

Jelly Fin

Discord Dependabot Status PRs Welcome contributions welcome Inline docs Build Status codecov


Finances are hard. It's one of the first adulting things everyone has to wrestle with. So, let's make it easy and automate it. Over the course of several years, my wife and I have tracked our finances using a forecasting method and had done it all within a spreadsheet. The time came where I wanted to take this concept and make it mobile using serverless architecture and clean design.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

For iOS Remember that you need to have Mac OS in order to develop for iOS

For Android

New Shiny Baby Web Project

jf-web

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Lints and fixes files

npm run lint

Run your unit tests

npm run test:unit

Fork Me

Discussion

pic
Editor guide