A scalable full-stack coding platform for practicing, managing, and organizing coding problems, datasets, solutions, and learning resources.
Go-Epic is a full-stack coding platform built with Golang, React, and Tailwind CSS that helps developers manage coding problems, datasets, topics, and solutions through scalable APIs and a modern frontend interface.
The platform provides authentication, protected routes, search capabilities, analytics APIs, dataset management, and role-based access control.
- Create a scalable coding platform architecture
- Provide structured problem management
- Enable secure authentication flows
- Support dataset import/export operations
- Deliver responsive frontend experiences
- Offer analytics and monitoring capabilities
โ
RESTful API Architecture
โ
CRUD Operations
โ
JWT Authentication & Authorization
โ
Role-Based Access Control
โ
Protected Routes
โ
Middleware Support
โ
Validation Layer
โ
Pagination, Filtering & Sorting
โ
Search APIs
โ
Statistics APIs
โ
Error Handling
โ
API Metrics
โ
Health Monitoring
โ
Rate Limiting
โ
Responsive Design
โ
React Component Architecture
โ
API Integration Layer
โ
Authentication UI
โ
Search Interface
โ
Dashboard Pages
โ
Dataset Explorer
โ
Admin Management Views
graph TD
A[React Frontend]
B[REST API Layer]
C[Authentication Service]
D[Business Logic]
E[Database]
F[Datasets]
A --> B
B --> C
B --> D
D --> E
D --> F
| Layer | Technology |
|---|---|
| Frontend | React.js |
| Styling | Tailwind CSS |
| Backend | Golang |
| API | REST |
| Authentication | JWT |
| State Management | React Hooks / Context |
| HTTP Client | Axios |
| Database | MongoDB |
| Deployment | Render / Railway / Vercel |
go-epic/
โโโ backend/
โ โโโ cmd/
โ โโโ config/
โ โโโ controllers/
โ โโโ middleware/
โ โโโ models/
โ โโโ routes/
โ โโโ services/
โ โโโ utils/
โ โโโ main.go
โ
โโโ frontend/
โ โโโ public/
โ โโโ src/
โ โ โโโ components/
โ โ โโโ hooks/
โ โ โโโ pages/
โ โ โโโ services/
โ โ โโโ App.jsx
โ
โโโ README.md
git clone <repo-url>
cd go-epiccd backend
go mod tidy
go run main.goBackend runs on:
http://localhost:8080
cd frontend
npm install
npm run devFrontend runs on:
http://localhost:5173
Create .env
PORT=8080
DB_URI=your_database_uri
JWT_SECRET=secret_key
REFRESH_SECRET=refresh_key
CLIENT_URL=http://localhost:5173
RATE_LIMIT=100sequenceDiagram
User->>Frontend: Login
Frontend->>Backend: Credentials
Backend->>Auth Service: Validate
Auth Service-->>Backend: Generate JWT
Backend-->>Frontend: Access Token
Frontend->>Protected APIs: Attach Token
http://localhost:8080/api/v1
| Method | Route | Purpose |
|---|---|---|
| GET | /problems | Fetch all problems |
| POST | /problems | Create problem |
| PATCH | /problems/ | Update problem |
| DELETE | /problems/ | Delete problem |
| Method | Route |
|---|---|
| POST | /auth/register |
| POST | /auth/login |
| POST | /auth/logout |
| GET | /auth/profile |
| Endpoint | Description |
|---|---|
| /search/problems?q=keyword | Search problems |
| /search/topics?q=query | Search topics |
| /search/solutions?q=query | Search solutions |
| Route |
|---|
| /stats/problems |
| /stats/topics |
| /stats/datasets |
- Download dataset
- Place file inside:
backend/datasets/
- Import:
POST /problems/import-jsonPOST /auth/login
{
"email":"demo@gmail.com",
"password":"password123"
}Response:
{
"success": true,
"token":"jwt_token"
}{
"success": false,
"message": "Validation Failed"
}Applied on:
- Authentication APIs
- Search Endpoints
- Bulk Operations
- Admin Routes
Example:
100 requests / minute
Backend:
go test ./...Frontend:
npm run test| Service | Platform |
|---|---|
| Backend | Railway / Render |
| Frontend | Vercel / Netlify |
| Database | MongoDB Atlas |
Build frontend:
npm run build- Contest System
- Leaderboards
- AI Recommendations
- Discussion Forums
- Multi-language Support
- Real-time Collaboration
fork repository
create feature branch
commit changes
push branch
create pull requestLicensed under the MIT License.
Built using โค๏ธ with Golang, React, and Tailwind CSS