|
1 | | -This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). |
| 1 | +# OpenScope |
2 | 2 |
|
3 | | -## Getting Started |
| 3 | +OpenScope is a developer-focused tool that helps you **discover, understand, and track open‑source issues** with clarity and confidence. |
4 | 4 |
|
5 | | -First, run the development server: |
| 5 | +Reading through long GitHub issues, discussions, and repositories can be overwhelming—especially when you’re just getting started. OpenScope cuts through that noise by analyzing repositories and issues and presenting only what actually matters, so you can decide *where to contribute* and *how to begin*. |
6 | 6 |
|
| 7 | +This project is built primarily for: |
| 8 | +- Developers preparing for programs like **GSoC** |
| 9 | +- First‑time and regular open‑source contributors |
| 10 | +- Anyone looking to evaluate issues before investing time |
| 11 | + |
| 12 | +--- |
| 13 | + |
| 14 | +## Live Demo |
| 15 | + |
| 16 | +- **Production**: https://openscope.anuragx.dev |
| 17 | +- **Demo mode**: Available inside the app (no GitHub login required) |
| 18 | + |
| 19 | +--- |
| 20 | + |
| 21 | +## What OpenScope Does |
| 22 | + |
| 23 | +### Repository & Issue Browsing |
| 24 | +- Fetch repositories and issues directly from GitHub |
| 25 | +- Clean, distraction‑free interface focused on readability |
| 26 | + |
| 27 | +### AI‑Generated Insights |
| 28 | +For every issue, OpenScope generates: |
| 29 | +- A clear **summary** of the problem |
| 30 | +- **Difficulty level** (easy / medium / hard) |
| 31 | +- **Required skills** and knowledge areas |
| 32 | +- A practical **suggested approach** |
| 33 | +- **Estimated time** to work on the issue |
| 34 | +- A **match score** based on your profile |
| 35 | + |
| 36 | +The goal is not to replace your judgment—but to help you make better decisions faster. |
| 37 | + |
| 38 | +### Issue Tracking |
| 39 | +- Save issues you’re interested in |
| 40 | +- View all tracked issues in one place |
| 41 | +- Avoid duplicate tracking automatically |
| 42 | + |
| 43 | +### GitHub Authentication |
| 44 | +- Secure login using GitHub OAuth |
| 45 | +- Automatically syncs your GitHub profile |
| 46 | + |
| 47 | +### Usage Limits & Plans |
| 48 | +- Free, Pro, and Premium plans |
| 49 | +- AI usage limits enforced on the backend |
| 50 | +- Clear UI feedback when limits are reached |
| 51 | + |
| 52 | +--- |
| 53 | + |
| 54 | +## Tech Stack |
| 55 | + |
| 56 | +### Frontend |
| 57 | +- Next.js (App Router) |
| 58 | +- React |
| 59 | +- TypeScript |
| 60 | +- Tailwind CSS |
| 61 | +- Radix UI |
| 62 | + |
| 63 | +### Backend |
| 64 | +- Next.js API Routes |
| 65 | +- Prisma ORM |
| 66 | +- PostgreSQL (Neon) |
| 67 | + |
| 68 | +### Authentication |
| 69 | +- NextAuth.js |
| 70 | +- GitHub OAuth |
| 71 | + |
| 72 | +### AI |
| 73 | +- OpenRouter API |
| 74 | +- OpenAI‑compatible models |
| 75 | + |
| 76 | +### DevOps & Infrastructure |
| 77 | +- Docker |
| 78 | +- GitHub Actions (CI/CD) |
| 79 | +- DigitalOcean (production hosting) |
| 80 | + |
| 81 | +--- |
| 82 | + |
| 83 | +## Architecture Overview |
| 84 | + |
| 85 | +``` |
| 86 | +Local Machine |
| 87 | +└─ git push |
| 88 | +
|
| 89 | +GitHub Actions (CI) |
| 90 | +├─ install dependencies |
| 91 | +├─ build Next.js app |
| 92 | +├─ build Docker image |
| 93 | +├─ export image |
| 94 | +└─ copy image to server |
| 95 | +
|
| 96 | +Production Server (DigitalOcean) |
| 97 | +├─ load Docker image |
| 98 | +└─ run container |
| 99 | +``` |
| 100 | + |
| 101 | +Builds happen entirely in CI. |
| 102 | +The server only runs containers—no builds, no installs. |
| 103 | + |
| 104 | +This approach: |
| 105 | +- Reduces RAM usage on the server |
| 106 | +- Avoids broken SSH sessions during builds |
| 107 | +- Makes deployments predictable and repeatable |
| 108 | + |
| 109 | +--- |
| 110 | + |
| 111 | +## Local Development |
| 112 | + |
| 113 | +### 1. Clone the repository |
| 114 | +```bash |
| 115 | +git clone https://github.com/0xarg/openscope.git |
| 116 | +cd openscope |
| 117 | +``` |
| 118 | + |
| 119 | +### 2. Install dependencies |
| 120 | +```bash |
| 121 | +pnpm install |
| 122 | +``` |
| 123 | + |
| 124 | +### 3. Configure environment variables |
| 125 | + |
| 126 | +Create a `.env.local` file: |
| 127 | + |
| 128 | +```env |
| 129 | +DATABASE_URL=postgresql://... |
| 130 | +NEXTAUTH_URL=http://localhost:3000 |
| 131 | +NEXTAUTH_SECRET=your-secret |
| 132 | +
|
| 133 | +GITHUB_ID=your_github_oauth_id |
| 134 | +GITHUB_SECRET=your_github_oauth_secret |
| 135 | +
|
| 136 | +OPENROUTER_API_KEY=your_openrouter_api_key |
| 137 | +``` |
| 138 | + |
| 139 | +### 4. Run the app |
7 | 140 | ```bash |
8 | | -npm run dev |
9 | | -# or |
10 | | -yarn dev |
11 | | -# or |
12 | 141 | pnpm dev |
13 | | -# or |
14 | | -bun dev |
15 | 142 | ``` |
16 | 143 |
|
17 | | -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. |
| 144 | +The app will be available at: |
| 145 | +``` |
| 146 | +http://localhost:3000 |
| 147 | +``` |
| 148 | + |
| 149 | +--- |
| 150 | + |
| 151 | +## Production Deployment |
| 152 | + |
| 153 | +OpenScope is deployed using **GitHub Actions + Docker**. |
| 154 | + |
| 155 | +Core principles: |
| 156 | +- No builds on the production server |
| 157 | +- CI is responsible for building images |
| 158 | +- The server only runs containers |
| 159 | + |
| 160 | +Deployment is triggered automatically on: |
| 161 | +```bash |
| 162 | +git push origin main |
| 163 | +``` |
| 164 | + |
| 165 | +--- |
| 166 | + |
| 167 | +## Security Notes |
| 168 | + |
| 169 | +- All secrets are stored in GitHub Actions Secrets |
| 170 | +- Production environment variables exist only on the server |
| 171 | +- No credentials are committed to the repository |
| 172 | + |
| 173 | +--- |
| 174 | + |
| 175 | +## Demo Video |
| 176 | + |
| 177 | +A short walkthrough demo covers: |
| 178 | +- Authentication flow |
| 179 | +- Repository and issue browsing |
| 180 | +- AI‑generated insights |
| 181 | +- Issue tracking workflow |
| 182 | + |
| 183 | +(The video is linked from the website / portfolio.) |
| 184 | + |
| 185 | +--- |
| 186 | + |
| 187 | +## Roadmap |
| 188 | + |
| 189 | +Planned improvements: |
| 190 | +- Team and organization support |
| 191 | +- Smarter issue recommendations |
| 192 | +- Token‑based AI usage limits |
| 193 | +- Export insights as Markdown |
| 194 | +- Public API access |
| 195 | + |
| 196 | +--- |
18 | 197 |
|
19 | | -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. |
| 198 | +## Contributing |
20 | 199 |
|
21 | | -This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. |
| 200 | +Contributions are welcome. |
22 | 201 |
|
23 | | -## Learn More |
| 202 | +1. Fork the repository |
| 203 | +2. Create a feature branch |
| 204 | +3. Open a pull request |
24 | 205 |
|
25 | | -To learn more about Next.js, take a look at the following resources: |
| 206 | +--- |
26 | 207 |
|
27 | | -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. |
28 | | -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. |
| 208 | +## License |
29 | 209 |
|
30 | | -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! |
| 210 | +MIT License |
31 | 211 |
|
32 | | -## Deploy on Vercel |
| 212 | +--- |
33 | 213 |
|
34 | | -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. |
| 214 | +## Author |
35 | 215 |
|
36 | | -Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for smore details. |
37 | | -CI/CD enabled |
| 216 | +Built by **Anurag** |
| 217 | +Focused on open‑source, Web3, and developer tooling. |
0 commit comments