This repository contains the Forma web application, which serves as both the landing page and API backend for the Forma project. Built with Next.js and TypeScript, it provides a full-stack solution with authentication, payment processing, and core application functionality.
- Landing Page: Public-facing website with pricing and product information
- API Backend: RESTful API endpoints for authentication, payments, and core functionality
- Authentication: User signup, signin, and session management
- Dashboard: Protected user dashboard interface
- Database Integration: Supabase integration for data persistence
app/
├── api/ # API routes
│ ├── auth/ # Authentication endpoints
│ └── currency/ # Currency-related endpoints
├── components/ # Reusable React components
├── dashboard/ # Dashboard pages
├── pricing/ # Pricing page
└── page.tsx # Landing page
lib/ # Utility libraries
├── auth.ts # Authentication helpers
└── supabase.ts # Database client
sql/ # Database initialization scripts
- Node.js 18+
- npm, yarn, pnpm, or bun
- Clone the repository
- Install dependencies:
npm install- Set up environment variables (create
.env.local):
# Add your Supabase credentials and other environment variables- Run the development server:
npm run devOpen http://localhost:3000 to view the landing page.
The application provides several API endpoints:
POST /api/auth/signup- User registrationPOST /api/auth/signin- User authenticationPOST /api/auth/signout- User logoutGET /api/currency- Currency-related data
- Frontend: React components in
app/components/ - Pages: Next.js App Router pages in
app/ - API: Server-side API routes in
app/api/ - Styling: Tailwind CSS
- Database: Supabase integration
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLintThis application can be deployed on platforms that support Next.js, such as Vercel, Netlify, or any Node.js hosting service.