A simple arXiv explorer.
arXion is a web application designed to explore and search for research papers on arXiv. Built with TypeScript, it provides a user-friendly interface to navigate through arXiv's vast collection of academic papers.
- Search Functionality: Users can search for papers using keywords.
- MathJax Support: Proper rendering of mathematical equations present in the papers.
- Dark Mode: Toggle between light and dark themes for better readability.
Make sure you have Node.js installed. You can download it from nodejs.org.
-
Clone the repository:
git clone https://github.com/yonatanmgr/arxion.git cd arxion -
Install dependencies:
npm install # or yarn install # or pnpm install # or bun install
Start the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
arXion provides several API routes to interact with the arXiv data. The routes are designed to fetch papers, search for keywords, and get detailed information about specific papers.
- GET /api/papers: Fetch a list of recent papers.
- GET /api/search: Search for papers using keywords.
- GET /api/paper/{id}: Get detailed information about a specific paper by its ID.
-
Fetch Recent Papers:
curl http://localhost:3000/api/papers
-
Search for Papers:
curl http://localhost:3000/api/search?query=quantum -
Get Paper Details:
curl http://localhost:3000/api/paper/{id}
Replace {id} with the specific paper ID you want to retrieve.
- next: The React framework used for building the application.
- axios: For making HTTP requests to the arXiv API.
- better-react-mathjax: For rendering mathematical equations.
- tailwindcss: For styling the application.
- zustand: For state management.
- framer-motion: For animations and transitions.
- moment: For date and time manipulation.
- swr: For data fetching and caching.
- xml2js: For parsing XML data from the arXiv API.