Signalist is a real‑time stock tracking platform that delivers personalized alerts and detailed company insights.
- Next.js. The React Framework for the Web.
- TypeScript. JavaScript with syntax for types.
- TailwindCSS. Rapidly build modern websites without ever leaving your HTML.
- Shadcn. The Foundation for your Design System.
- Better Auth. The most comprehensive authentication framework.
- React Hook Form. Performant, flexible and extensible forms with easy-to-use validation.
- Zod. TypeScript-first schema validation with static type inference.
- @teispace/next-themes. Feature-rich, lightweight, production-grade theme management for Next.js and React..
- next-intl. Internationalization for Next.js.
- Inngest. Run fast, reliable code on any platform, without managing queues, infra, or state.
- Finnhub. Democratize Financial Data with the most powerful stock API on the market.
- Supabase. Build in a weekend, scale to millions.
- Nodemailer. Send emails from Node.js - easy as cake!
- CodeRabbit. Reviews for AI-powered teams who move fast (but don’t break things).
Follow these steps to set up the project locally on your machine.
- Enable custom TypeScript plugin for Next.js
- Clone repository
git clone git@github.com:arlgnv/signalist.git- Navigate to cloned folder
cd signalist- Install dependencies
npm install-
Set up environment variables
Create a new file named
.envin the project's root and fill it out with required variables (reference.env.examplefor available variables)
- Start the server
npm run dev- Start inngest dev server
npm run inngest:dev-
Open the server
Visit http://localhost:3000 in your browser to view the project
If you need to view/test/debug the app on other devices on the same network you need to do two things.
- Add
allowedDevOriginsto Next.js's config to allow requests from origins other than the hostname the dev server was initialized with.
import type { NextConfig } from 'next';
const config: NextConfig = {
allowedDevOrigins: ['YOUR_HOSTNAME'],
};
export default config;- Update
allowedHostsin Better Auth's config to allow requests from other hosts.
import { betterAuth } from 'better-auth';
const auth = betterAuth({
baseURL: {
allowedHosts: ['localhost:3000', '*.vercel.app', 'YOUR_HOSTNAME'],
},
});
export default auth;