Giter Site home page Giter Site logo

k61b / portfolion Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 0.0 284 KB

Portfolio Tracking Application

License: MIT License

Makefile 0.29% Go 41.65% JavaScript 5.09% CSS 3.21% TypeScript 48.81% HTML 0.54% Dockerfile 0.41%
golang mongodb react reactrouter vite

portfolion's Introduction

Portfolion - Portfolio Tracking Application

Portfolion is a portfolio tracking application that allows you to consolidate your savings from different places into a single platform, making it easy to keep track of your investments and savings.

Table of Contents

Introduction

Portfolion is designed to provide users with a convenient way to monitor their savings and investments across various platforms. The application is built using React and Golang, making it efficient and scalable.

Features

  • Consolidate savings and investments from different sources
  • User authentication and authorization
  • View portfolio holdings and performance
  • Support for various investment types (e.g., stocks, cryptocurrencies, bonds)
  • Real-time data updates from integrated APIs
  • Secure and encrypted data storage

Tech Stack

  • Frontend: React, React Router
  • Backend: Golang (Go)
  • Database: MongoDB
  • Authentication: JSON Web Tokens (JWT)
  • External APIs: [List any external APIs you integrate with, e.g., AVATAR_API]

Installation

To set up the Portfolion application on your local machine, follow these steps:

  1. Clone the repository:
git clone https://github.com/kayraberktuncer/portfolion.git
cd portfolion
  1. Install dependencies for the frontend:
cd client
npm install
  1. Create a .env file in the client folder and provide the necessary environment variable(s):
VITE_PUBLIC_API_URL=YOUR_API_URL
  1. Install dependencies for the backend (v1):
cd ../v1
go mod download
  1. Create a .env file in the v1 folder and provide the necessary environment variable(s):
MONGO_URI=YOUR_MONGODB_CONNECTION_STRING
MONGO_DB=YOUR_MONGODB_DATABASE_NAME
USERS_COLLECTION=YOUR_MONGODB_USERS_COLLECTION
SYMBOLS_COLLECTION=YOUR_MONGODB_SYMBOLS_COLLECTION
PORT=YOUR_BACKEND_PORT
JWT_SECRET=YOUR_JWT_SECRET_KEY
API_KEY=YOUR_EXTERNAL_API_KEY
ALLOWED_ORIGINS=YOUR_ALLOWED_ORIGINS
AVATAR_API=YOUR_AVATAR_API_URL
AVATAR_API_OPTIONS=YOUR_AVATAR_API_OPTIONS

Usage

  1. Start the backend server:
cd v1
go run main.go
  1. Start the frontend development server:
cd client
npm run dev
  1. Open your browser and visit http://localhost:3000 to access the Portfolion application.

Environment Variables

Here is a list of environment variables used in the application:

  • VITE_PUBLIC_API_URL: The public API URL for the frontend.
  • MONGO_URI: The MongoDB connection string.
  • MONGO_DB: The MongoDB database name.
  • USERS_COLLECTION: The MongoDB collection for storing user data.
  • SYMBOLS_COLLECTION: The MongoDB collection for storing investment symbols/data.
  • PORT: The backend server port number.
  • JWT_SECRET: Secret key for JSON Web Tokens.
  • API_KEY: API key for external API integration.
  • ALLOWED_ORIGINS: Comma-separated list of allowed origins for CORS.
  • AVATAR_API: URL for the avatar API service.
  • AVATAR_API_OPTIONS: Options for the avatar API service.

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please feel free to create a pull request.

License

MIT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.