Skip to content
The server for my budget app
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
README.md
devnotes.md
package-lock.json
package.json

README.md

Budget App Server

Title under development. This is the server that powers the Budget App.

Features

  • Savings goals
  • Envelopes for allocating funds
  • Expense tracking
  • RESTful API
  • Authentication by Auth0

Technical Design Notes

The server is built with KoaJS. Authentication is provided by Auth0.

Prototype

A high fidelity mockup of the client app can be viewed here. This is still under development and will probably change once I begin to build the client app.

API Documentation

The API specification can be found here. It was built using Postman. This is under active development as I am currently building the server. The API spec for the current release will be fully documented in the server readme (to keep this document clean and concise).

Database schema

The ER diagram/ database schema can be found here. It was built in SqlDBM. This is also subject to possible changes, although I'm confident that it's basically correct and complete.

Installation

At the moment this project has yet to reach a working pre-alpha release. If you want to play with the code, then clone the repo.

git clone https://github.com/sjustintaylor/budget-app-server.git
cd budget-app-server
npm install

The .env file for the server needs to be created and configured to connect to a mysql compliant server with the relevant tables created. See the template .env for an example (still working on it). You will also need to create a user in the database and give it access. The CORS settings need to either match your client address or be turned off (setting it to * should work).

Usage

Assuming you've configured the .env correctly and set up a MariaDB or other MySQL compliant database, you should be good to go.

npm run serve

Tech

  • KoaJS
  • Koa Trie Router
  • MySQL

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

GPL-3.0-or-later

You can’t perform that action at this time.