尚未检测到更新。GitHub 发布版本后会显示在这里。
A beginner investor command center for building portfolios, understanding stocks, and learning what matters in the market.
翻译准备中
正在加载完整 README。
查看完整 README ↗ARCANUM is a beginner investor simulator and command center. It gives new investors a structured place to build an investor profile, explore starter portfolio ideas, research stocks and ETFs, follow relevant market news, and practice investing with fake money before risking real money.
The product is educational. It does not place trades, connect to brokerage accounts, predict prices, or provide financial advice.
Most investing products are designed for people who already know what they are doing. ARCANUM is designed for the period before that: learning how allocation, risk, diversification, company research, and investment theses fit together.
The long-term goal is a calm, technically serious workspace that helps a beginner develop a repeatable research process and make more informed decisions.
Market quotes and news currently come from Yahoo Finance endpoints with local historical snapshots as a quote fallback. This is suitable for an early-access educational release, but it is not an exchange-grade market data feed.
lightweight-charts for interactive market chartslocalStorage for anonymous/offline-first product stateapp/ Pages, layouts, auth callbacks, and route handlers
components/ Shared client components and product UI
components/hooks/ Reusable React data hooks
components/ui/ Design-system and product components
data/ Curated educational content and price snapshots
lib/ Portfolio, simulator, sync, quote, and news logic
lib/api/ Shared route-handler input validation
lib/supabase/ Browser, server, and admin Supabase clients
scripts/ Price-snapshot maintenance scripts
supabase/ Database schema and setup instructions
types/ Shared TypeScript domain models
.github/workflows/ CI and scheduled data refresh workflows
| Route | Purpose |
|---|---|
/ | Product home |
/today | Personalized daily command center |
/onboarding | Investor-profile questionnaire |
/portfolio-suggestion | Starter portfolio direction |
/dashboard | Portfolio health and exposure dashboard |
/simulator | Fake-money investing simulator |
/journal | Thesis and review journal |
/watchlist | Followed stocks and ETFs |
/stocks | Searchable research universe |
/stocks/[ticker] | Individual asset research |
/compare | Side-by-side asset comparison |
/brief | Beginner market brief |
/learn | Investing concepts and glossary |
/sign-in | Passwordless email sign-in |
/settings | Account, sync, export, and reset controls |
/privacy | Privacy disclosure |
/terms | Terms of use |
Requirements:
Install dependencies:
npm install
Create .env.local using .env.example as the template:
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...
NEXT_PUBLIC_SITE_URL=http://localhost:3000
Never commit .env.local or share the service-role key. Run the database schema
and configure authentication using supabase/SETUP.md.
For exact variable sources, laptop migration steps, and rules for developers
and AI assistants, see docs/ENVIRONMENT.md.
Start the development server:
npm run dev
Open http://localhost:3000.
npm run lint
npm run typecheck
npm run build
The same checks run in GitHub Actions for pushes to main and pull requests.
.env.example to the appropriate Vercel
environments.NEXT_PUBLIC_SITE_URL to the canonical HTTPS production URL.supabase/schema.sql in the Supabase SQL Editor./auth/callback URL in Supabase Authentication settings.See supabase/SETUP.md for dashboard steps that cannot be performed from this repository.
Anonymous users keep onboarding, simulator, journal, and watchlist state in their browser. Signed-in users retain that local copy and synchronize it with their own Supabase rows. Row Level Security limits each user to their own data.
On first sign-in, ARCANUM migrates existing local data when no newer cloud copy exists. Watchlists are merged; timestamped onboarding and simulator records use last-write-wins conflict resolution.
ARCANUM is for education and simulation only. Portfolio templates, research notes, scenarios, metrics, market data, and explanations are not personalized financial advice or recommendations to buy, sell, or hold a security. Market data may be delayed, incomplete, or unavailable. Users should verify important information through official filings, fund documents, and qualified professionals before making real financial decisions.