Skip to content

enias-oliveira/stores-transactions-manager

 
 

Repository files navigation

Stores Transactions Manager

A simple software for managing transactions by uploading and parsing a CNAB file.

The Backend is built with NestJs, using Prisma ORM/(Postgres) as Database and the Frontend with NextJs using MUI for UI components.

Ths repository has a minimal CI/CD setup via Github Actions, that automatically builds the application and deploys on Heroku.

Screenshots

App Screenshot

Demo

Heroku will put the server on sleep after some time, so your first interaction with the demo will be a slower than normally

Run Development Env

Clone the project

  git clone https://github.com/enias-oliveira/stores-transactions-manager
  cd stores-transactions-manager

Using Docker Compose

  docker-compose up

Web will be available on localhost:3000 Server on localhost:5500

Run Locally

Go to the backend directory

  cd my-project

Go to the backend directory

  cd backend

Install dependencies

  npm install

Start the server

  npm run start

Go to the frontend directory

  cd ../frontend

Install dependencies

  npm install

Start the server

  npm run dev

Web will be available on localhost:3000 Server on localhost:5501

  • There is support for Nix-shell, try it out, its awesome!

API Reference

  • The /api/ prefix is not required if fetching directly from the server, only if fetching via NextJs Frontend that acts as a proxy

Get all Stores

  GET /api/stores

Get Store by id

  GET /api/stores/${id}

Get Store Transactions

  GET /api/stores/${id}/transactions

Get All Transactions

  GET /api/transactions

Get All Transactions Types

  GET /api/transactions

Upload Transactions File

  POST /api/transactions/upload
  • File must be send via multipart form
Parameter Type Description
file File Required. List of transactions following CNAB specification

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 77.7%
  • Shell 13.8%
  • Nix 2.9%
  • JavaScript 2.9%
  • Dockerfile 2.7%