Skip to content

Full Stack application written in TypeScript and built with ReactJS, NodeJS and PostgresSQL; following the SOLID and TDD principles.

Notifications You must be signed in to change notification settings

marmitoTH/gofinances

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🔍 About

GoFinances is an web application made to control the user's income and outcome financial transactions. The user is able to create new transactions from the application as well as importing then from CSV files. The application uses an authentication system with JWT tokens to keep data restricted to each user.

Both backend and frontend where made using Typescript language. The backend is a REST API, programmed with SOLID principles in mind and taking advantage of unit tests for each use case of the application, connected to a postgres database. The frontend is an web application made with React following the "mobile first" principle, being responsive to any device resolution.

GoFinances is part of the GoStack Bootcamp Challanges by Rocketseat.

👀 Demo

🔧 Made With

Backend

Frontend

🔌 Installation

Clone the repository to your machine:

git clone https://github.com/marmitoTH/gofinances.git

Backend

The backend will expect you to have a postgres database running on your machine, you can change the database credentials in ormconfig.json file.

yarn install                    # Install all dependencies
yarn typeorm migration:run      # Create the necessary tables
yarn start                      # Start the server
yarn test                       # Run test suites

The server will be listening the port 3333.

Frontend

yarn install        # Install all dependencies
yarn start          # Start the application

🚩 Routes

Users

POST /users

{
	"name": "Your Name",
	"email": "your_email@mail.com",
	"password": "your_password"
}

Sessions

POST /sessions

{
	"email": "your_email@mail.com",
	"password": "your_password"
}

Transactions

GET /transactions
GET /transactions/take/1/skip/0         # Pagination
POST /transactions

{
	"title": "New Transaction",
	"value": 12000,
	"type": "income" | "outcome",
	"category": "New or existing category"
}
POST /transactions/import       # CSV file must be sent via multipart form
DELETE /transactions/:id

About

Full Stack application written in TypeScript and built with ReactJS, NodeJS and PostgresSQL; following the SOLID and TDD principles.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages