An open-source financial simulation and projection platform.
FinSim is an open-source financial simulation platform providing powerful financial simulation and projection tools for personal finance planning.
Note: This project is in early development. Features and documentation will be added as the project progresses.
- 📊 Financial projections and simulations
- 💰 Investment portfolio analysis
- 🏠 Retirement planning tools
- 📈 Scenario modeling and comparison
- 🔐 Privacy-focused (self-hostable)
- 🌐 Open-source and community-driven
- 🔒 OAuth authentication (GitHub & Google)
🚧 Early Development - We are currently setting up the project infrastructure, AI tooling, and documentation.
Contributions are welcome! Please see our issue templates for:
-
Clone the repository
git clone https://github.com/preamza02/finsim.git cd finsim/app -
Install dependencies
pnpm install
-
Set up authentication (optional for development)
See the Authentication Setup Guide for detailed instructions on configuring GitHub and Google OAuth.
Quick start:
cp .env.example .env # Edit .env and add your OAuth credentialsTo disable authentication for local development:
AUTH_ENABLED=false PUBLIC_AUTH_ENABLED=false
-
Run the development server
pnpm dev
-
Build for production
pnpm build
- Framework: SvelteKit with TypeScript
- UI Components: shadcn-svelte with TailwindCSS
- Authentication: Auth.js (OAuth 2.0)
- Package Manager: pnpm
- Testing: Playwright (E2E), Vitest (Unit)
FinSim supports OAuth authentication with GitHub and Google. Authentication can be disabled for self-hosted deployments.
📚 Read the Authentication Setup Guide for detailed instructions on:
- Setting up GitHub OAuth
- Setting up Google OAuth
- Configuring environment variables
- Disabling authentication for self-hosting
- Security best practices
This project uses AI tools to enhance development:
- GitHub Copilot: Code suggestions and completion
- CodeRabbit: Automated code reviews
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for details.
- Built with ❤️ using Arch BTW