Web3-Ready Academic Research Platform Frontend
A Next.js-powered frontend for the Pegasoi Research Platform, designed for Web3 integration and academic paper discovery. This application connects to our FastAPI backend and provides a modern, responsive interface for researchers to explore academic literature across multiple sources.
- ArXiv Integration - Physics, Mathematics, Computer Science papers
- DOAJ Support - Open Access journals and articles
- Crossref API - DOI metadata and citation information
- Getty Vocabulary - Cultural and art history resources
- Shadcn/ui Components - Beautiful, accessible design system
- Dark/Light Mode - Theme switching with next-themes
- Responsive Design - Mobile-first approach
- Loading States - Smooth user experience
- Clerk Integration - Secure user authentication
- Role-based Access - Admin and researcher roles
- Session Management - Persistent login state
- Blockchain Integration Ready - Prepared for wallet connections
- Decentralized Identity - Compatible with Web3 auth patterns
- Future-Proof Design - Built with Web3 principles in mind
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β Frontend βββββΆβ Backend API βββββΆβ Data Sources β
β (This Repo) β β (Railway) β β (ArXiv, DOAJ) β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
- Frontend: Next.js 14 with TypeScript and Shadcn/ui
- Backend: FastAPI with Redis (deployed on Railway)
- Data: Multiple academic APIs (ArXiv, DOAJ, Crossref, Getty)
- Auth: Clerk for user management
- Future: Web3 wallet integration
- Node.js >= 18.0.0
- npm (included with Node.js)
- Git
- Clone the repository
git clone https://github.com/yasutora-eth/pegasoi-frontend.git
cd pegasoi-frontend
- Install dependencies
npm install
- Set up environment variables
cp .env.example .env.local
Edit .env.local
with your configuration:
# Backend API
NEXT_PUBLIC_API_URL=https://pegasoibackend-production.up.railway.app
# Clerk Authentication (get from clerk.com)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_key_here
CLERK_SECRET_KEY=your_secret_here
- Start the development server
npm run dev
- Open your browser Visit http://localhost:3000
pegasoi-frontend/
βββ app/ # Next.js 14 App Router
β βββ (auth)/ # Authentication routes
β βββ dashboard/ # User dashboard
β βββ research-gallery/ # Main search interface
β βββ api/ # API routes
βββ components/ # Reusable UI components
β βββ ui/ # Shadcn/ui components
β βββ custom/ # Custom components
βββ lib/ # Utilities and configurations
βββ public/ # Static assets
βββ styles/ # Global styles
βββ types/ # TypeScript type definitions
This frontend connects to our FastAPI backend:
- Repository: GraydonKappes/pegasoibackend
- Live API: pegasoibackend-production.up.railway.app
- API Docs: pegasoibackend-production.up.railway.app/docs
GET /api/v1/search/papers
- Search academic papersGET /api/v1/articles
- Get all articlesGET /api/v1/health
- Health check
Built with Shadcn/ui for consistent, accessible components:
- Colors: CSS variables for easy theming
- Components: Pre-built, customizable UI elements
- Icons: Lucide React icon library
- Typography: Tailwind CSS utility classes
Prepared for Web3 integration with:
- Wallet Connection - MetaMask, WalletConnect support
- Blockchain Storage - Research citations on-chain
- Decentralized Identity - Web3 authentication options
- Token Incentives - Reward researchers for contributions
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
npm run type-check # Check TypeScript types
- ESLint - Code linting
- Prettier - Code formatting
- TypeScript - Type safety
- Husky - Git hooks for quality checks
Recommended platforms:
- Vercel (Primary) - Optimized for Next.js
- Netlify - Alternative option
- Railway - Full-stack deployment
NEXT_PUBLIC_API_URL=https://your-backend.railway.app
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_live_...
CLERK_SECRET_KEY=sk_live_...
We welcome contributions! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT License - see LICENSE file for details.
- Frontend Repository: yasutora-eth/pegasoi-frontend
- Backend Repository: GraydonKappes/pegasoibackend
- Live Backend API: pegasoibackend-production.up.railway.app
- API Documentation: pegasoibackend-production.up.railway.app/docs
Built with β€οΈ for the academic research community