https://github.com/ray8118/crypto-portfolio
Crypto Portfolio Tracker is a full-stack web application that helps users efficiently track and manage their cryptocurrency portfolios in real time. It features a secure backend API built with FastAPI and a modern, responsive frontend built with React and Tailwind CSS.
https://github.com/ray8118/crypto-portfolio
fastapi python react sqlalchemy sqlite tailwindcss typescript uv
Last synced: 9 months ago
JSON representation
Crypto Portfolio Tracker is a full-stack web application that helps users efficiently track and manage their cryptocurrency portfolios in real time. It features a secure backend API built with FastAPI and a modern, responsive frontend built with React and Tailwind CSS.
- Host: GitHub
- URL: https://github.com/ray8118/crypto-portfolio
- Owner: RaY8118
- Created: 2025-06-02T14:41:54.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-07-08T07:23:01.000Z (12 months ago)
- Last Synced: 2025-07-08T08:34:52.181Z (12 months ago)
- Topics: fastapi, python, react, sqlalchemy, sqlite, tailwindcss, typescript, uv
- Language: TypeScript
- Homepage: https://crypto-portfolio-69v.pages.dev/
- Size: 225 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Crypto Portfolio Tracker
This is a full-stack application designed to help users track their cryptocurrency portfolios. It features a secure backend API built with FastAPI and a responsive frontend built with React.
## Features
### Backend
- **User Authentication:** Secure user registration and login using JWT (JSON Web Tokens).
- **Portfolio Management:** API endpoints to manage user portfolios, including adding, updating, and deleting crypto assets.
- **Trade Tracking:** Functionality to record and track cryptocurrency trades.
- **Real-time Price Data:** Integration to fetch real-time cryptocurrency prices using the Binance API.
- **Database:** Uses SQLite for data storage (indicated by `crypto_portfolio.db`).
### Frontend
- **User Interface:** A modern and responsive user interface built with React.
- **Authentication Flows:** User registration, login, and protected routes.
- **Dashboard:** A dashboard to display portfolio overview.
- **Routing:** Client-side routing using React Router DOM.
- **Styling:** Styled with Tailwind CSS.
## Technologies Used
### Backend
- **Framework:** FastAPI
- **Database:** SQLite (via SQLAlchemy ORM)
- **Authentication:** PyJWT
- **Dependency Management:** uv (or pip/Poetry)
### Frontend
- **Framework:** React
- **Build Tool:** Vite
- **Styling:** Tailwind CSS
- **Routing:** React Router DOM
- **API Client:** Axios
- **State Management:** React Context API (for authentication)
## Setup Instructions
### Prerequisites
- Python 3.10+
- Node.js (LTS recommended)
- bun (or npm/yarn)
### Backend Setup
1. **Navigate to the backend directory:**
```bash
cd backend
```
2. **Install dependencies:**
```bash
uv sync
# or if using pip:
# pip install -r requirements.txt
# (you might need to generate requirements.txt from pyproject.toml first)
```
3. **Start the backend server:**
```bash
uvicorn main:app --reload
```
The backend API will typically run on `http://localhost:8000`.
### Frontend Setup
1. **Navigate to the frontend directory:**
```bash
cd frontend
```
2. **Install dependencies:**
```bash
bun install
# or if using npm:
# npm install
# or if using yarn:
# yarn install
```
3. **Start the frontend development server:**
```bash
bun dev
# or if using npm:
# npm run dev
```
The frontend application will typically run on `http://localhost:5173` (or another port as configured by Vite).
## Usage
1. **Register a new user** or **Log in** with existing credentials on the frontend.
2. Once logged in, you will be redirected to the **Dashboard**.
3. From the dashboard, you can manage your cryptocurrency portfolio and track trades.