A modern, full-stack web application for tracking and discovering open source issues, with a special focus on Google Summer of Code (GSoC) organizations and their issues.
- 🔍 Issue Discovery: Browse and search through open source issues from various repositories
- 🏢 OpenSource Organizations: Dedicated section for Google Summer of Code participating organizations
- 📊 Dashboard: Comprehensive dashboard with filters and statistics
- 🎯 Smart Filtering: Filter issues by language, difficulty, labels, and more
- 📱 Responsive Design: Mobile-first design that works on all devices
- ⚡ Real-time Updates: Live data from GitHub API
- 🎨 Modern UI: Built with Next.js, TypeScript, and Tailwind CSS
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Custom components with Lucide React icons
- Animations: Framer Motion
- HTTP Client: Axios
- Runtime: Node.js
- Framework: Express.js
- Language: TypeScript
- Database: MongoDB with Mongoose
- Web Scraping: Puppeteer, Playwright, Cheerio
- Logging: Winston
- API: GitHub REST API
- Node.js (v18 or higher)
- npm or yarn
- MongoDB (local or Atlas)
- GitHub Personal Access Token
-
Clone the repository
git clone https://github.com/yourusername/OpenSourceIssueTracker.git cd OpenSourceIssueTracker -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Update the
.envfile with your configuration:NEXT_PUBLIC_API_URL=http://localhost:7000/api NEXT_PUBLIC_GITHUB_API_URL=https://api.github.com NEXT_PUBLIC_APP_NAME=OpenSource Issue Tracker NEXT_PUBLIC_APP_VERSION=1.0.0
-
Start the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
-
Navigate to the server directory
cd ../OpenSourceIssueTracker.server -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Update the
.envfile:NODE_ENV=development PORT=7000 FRONTEND_URL=http://localhost:3000 DB_URL=mongodb://localhost:27017/opensource_issue_tracker GITHUB_TOKEN=your-github-personal-access-token GITHUB_API_URL=https://api.github.com
-
Start the backend server
npm run dev
OpenSourceIssueTracker/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── (root)/ # Main application routes
│ │ │ ├── _components/ # Page-specific components
│ │ │ ├── gsoc-issues/ # OpenSourceissues page
│ │ │ ├── gsoc-orgs/ # OpenSourceorganizations page
│ │ │ └── org/ # Organization detail pages
│ │ └── layout.tsx # Root layout
│ ├── components/ # Reusable components
│ │ ├── shared/ # Shared components
│ │ └── ui/ # UI components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Utility functions
│ └── actions/ # Server actions
├── public/ # Static assets
├── .env.example # Environment variables template
└── README.md # This file
| Variable | Description | Default |
|---|---|---|
NEXT_PUBLIC_API_URL |
Backend API URL | http://localhost:7000/api |
NEXT_PUBLIC_GITHUB_API_URL |
GitHub API URL | https://api.github.com |
NEXT_PUBLIC_APP_NAME |
Application name | OpenSource Issue Tracker |
NEXT_PUBLIC_APP_VERSION |
Application version | 1.0.0 |
- Connect your repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy - Vercel will automatically build and deploy
- Connect your repository
- Set environment variables
- Deploy - The platform will build and deploy your Express server
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub for providing the amazing API
- Google Summer of Code for inspiring this project
- The open source community for their contributions
If you have any questions or need help, please:
- Check the Issues page
- Create a new issue if your question isn't answered
- Contact the maintainers
Happy Coding! 🎉