Trading Journal
Trading journal for selfhosting
Install / Use
npx skills add Lumca/trading-journalInstalls into whichever agent you are using.
README
Trading Journal
A comprehensive web application for traders to track and analyze their trading performance.
Features
- 📊 Track trades across multiple journals
- 📈 Visualize performance with detailed statistics
- 📅 View trades on an interactive calendar
- 🔍 Filter and search through your trading history
- 📱 Responsive design that works on desktop and mobile
- 🌓 Multiple themes with light and dark mode
- 🔒 Secure authentication with Supabase
Screenshots

Rest of the screenshots are in img folder
Tech Stack
- Frontend: React, TypeScript, Vite
- UI Components: Mantine UI
- Auth & Database: Supabase
- Routing: React Router
- Charts: Recharts
- Styling: CSS-in-JS with Mantine
Getting Started
Prerequisites
- Node.js (v14+)
- npm
- Supabase account
Setup
-
Clone the repository:
git clone https://github.com/Lumca/trading-journal.git cd trading-journal -
Install dependencies:
npm install # or yarn install -
Create a
.envfile in the root directory with your Supabase credentials:VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key -
Start the development server:
npm run dev # or yarn dev -
Open http://localhost:5173 in your browser.
Database Setup
This application requires several tables in your Supabase database. You'll need to set up:
- users
- journals
- trades
- trade_entries
- trade_exits
- trade_indicators
- trade_screenshots
- user_settings
Detailed schema information can be found in supabase/migrations/001_initial_schema.sql
Deployment
Deploy with Vercel
Click the "Deploy with Vercel" button at the top of this README to deploy your own instance of Trading Journal.
Environment Variables
Make sure to set the following environment variables in your Vercel project:
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEY
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Mantine UI for the beautiful UI components
- Supabase for auth and database
- Recharts for the charting library
Related Skills
node-connect
385.5kDiagnose OpenClaw Android, iOS, or macOS node pairing, QR/setup code, route, auth, and connection failures.
blender-python-addon
40.5kBlender Python add-on rules for operators, panels, properties, registration, testing, and API-safe scripting
flutter-development-guidelines-cursorrules-prompt-file
40.5kCursor rules for Flutter development with MVVM architecture, Riverpod state management, Material widgets, and Dart style guidelines.
commit-push-pr
140.7kCommit, push, and open a PR
