The Fake Fintech project is an initiative aimed at understanding how fintech applications work, with a focus on the underlying rules and concepts that drive them. This project explores integrating APIs connected to the economic fintech ecosystem while building a tracking system for users to keep up with their finances.
This project is structured with the following technologies:
To ensure the proper setup of your environment, the backend/config/env/env.go
file contains the configuration for connecting to PostgreSQL. Make sure your environment variables are set correctly.
Example of env.go
file:
package env
import (
"fmt"
"os"
)
func setEnv() {
host := os.Getenv("POSTGRES_HOST")
port := os.Getenv("POSTGRES_PORT")
user := os.Getenv("POSTGRES_USER")
password := os.Getenv("POSTGRES_PASSWORD")
database := os.Getenv("POSTGRES_DATABASE")
if host == "" || port == "" || user == "" || password == "" || database == "" {
panic("Missing required environment variables for PostgreSQL connection")
}
os.Setenv("POSTGRES_HOST", host)
os.Setenv("POSTGRES_PORT", port)
os.Setenv("POSTGRES_USER", user)
os.Setenv("POSTGRES_PASSWORD", password)
os.Setenv("POSTGRES_DATABASE", database)
}
func GetPostgresConnectionString() string {
setEnv()
host := os.Getenv("POSTGRES_HOST")
port := os.Getenv("POSTGRES_PORT")
user := os.Getenv("POSTGRES_USER")
password := os.Getenv("POSTGRES_PASSWORD")
database := os.Getenv("POSTGRES_DATABASE")
connectionStr := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=disable", host, port, user, password, database)
return connectionStr
}
func GetDatabase() string {
setEnv()
return os.Getenv("POSTGRES_DATABASE")
}
func SetSalt() []byte {
your_salt := "MySalt"
return []byte(your_salt)
}
Install dependencies:
Run the backend:
POSTGRES_*
environment variables are correctly set (as shown in the env.go
file).go run main.go
The frontend is built using Angular 19 and based on the CoreUI template, offering a user-friendly interface to interact with the backend.
Clone the repository:
git clone https://github.com/your-username/fake-fintech-frontend.git
cd fake-fintech-frontend
Install dependencies:
npm install
Run the frontend:
Start the Angular application:
ng serve
The app will be accessible at http://localhost:4200
.
Run SonarQube On Docker
Follow the official SonarQube guide to set it up on the code locally.
Install Required Extensions
Access SonarQube
http://localhost:9000
.In the future, this project will integrate with third-party fintech APIs to retrieve real-time financial data and expand its functionality with advanced features like: