GeekGod is an interactive web application designed to help users visualize and understand various computer science algorithms through animations and step-by-step execution. The project is built with Next.js and features a modern, responsive UI, beautiful drag-and-drop interactions, and robust SEO/PWA support.
-
Sorting Algorithms
- Bubble Sort
- Insertion Sort
- Merge Sort
- Quick Sort
-
Pathfinding Algorithms
- Dijkstra's Algorithm
- A* Search
- BFS
- DFS
-
Greedy Algorithms
- Activity Selection
- Huffman Coding
- Kruskal's MST
- Prim's MST
-
Interactive Visualizations
- Step-by-step execution
- Speed control
- Drag-to-draw and drag-to-move for pathfinding
- Color-coded elements for better understanding
- Pseudocode highlighting
- Modern, minimal UI
-
SEO & PWA
- Custom favicon and manifest for all devices
- SEO meta tags (Open Graph, Twitter, canonical)
- Mobile-friendly and installable as a PWA
- Frontend Framework: Next.js 13+ (App Router)
- Styling: Tailwind CSS
- Visualization: Custom-built with React
- Type Safety: TypeScript
- Icons: React Icons
- Code Highlighting: react-syntax-highlighter
- Node.js 16.8 or later
- npm or yarn
-
Clone the repository:
git clone https://github.com/manan0209/geekgod.git cd geekgod -
Install dependencies:
npm install # or yarn install -
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
- All pages include SEO meta tags and a custom favicon for a polished, professional look.
- The app is installable as a PWA and works great on mobile.
- Favicon assets are in
public/favicon/and referenced in the app layout.
src/app/- Next.js app directory (pages, layouts, etc.)src/components/- Reusable React componentspublic/favicon/- Favicon and manifest assetssrc/types/- TypeScript typessrc/utils/- Utility functions
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.