DevDisplay API is a powerful backend service that aggregates and serves trending developer content from GitHub and Dev.to. It provides developers and tech enthusiasts with scraped insights into the most exciting developments in the tech world.
- Trending Insights: Discover top developers, repositories, and posts
- Regularly scraped data: Latest data scraped from authentic sources
- Flexible Time Frames: Choose from daily, weekly, or monthly trending data
- Multi-Source Aggregation: Pulls data from GitHub and Dev.to
- Newsletter Subscription: Stay updated with the latest tech trends
- Backend: Node.js & Express.js
- Database: MongoDB with Mongoose ORM
- Data Sources: GitHub.com, Dev.to
DevDisplay-API/
│
├── controllers/
│ ├── dev.controllers.js
│ ├── github.controllers.js
│ └── subscribers.controllers.js
│
├── db/
│ └── index.js
|
├── cron/
│ └── dev.cron.js
│ └── github.cron.js
│ └── test.cron.js
│
├── models/
│ ├── developers.models.js
│ ├── post.models.js
│ ├── repositories.models.js
│ └── subscribers.models.js
│
├── routes/
│ ├── dev.routes.js
│ ├── github.routes.js
│ └── subscribers.routes.js
│
└── utils/
├── randomPeriod.utils.js
├── response.utils.js
└── urlBuilder.utils.js
GET /devdisplay/v1/trending/dev/posts/:sinceGET /devdisplay/v1/trending/dev/getRandomPost
GET /devdisplay/v1/trending/github/repositories/:sinceGET /devdisplay/v1/trending/github/developers/:sinceGET /devdisplay/v1/trending/github/getRandomDevGET /devdisplay/v1/trending/github/getRandomRepo
POST /devdisplay/v1/subscribers
- Node.js
- npm
- MongoDB
- Clone the repository
git clone https://github.com/Thakar-Advait/DevDisplay-API.git
cd DevDisplay-API
- Install Dependencies
npm install
- Configure Environment Variables Create a
.envfile with the following variables:
PORT=3000
MONGO_URI=your_mongodb_connection_string
DB_NAME=devdisplay
- Prepare MongoDB Collections Ensure your MongoDB database has these collections:
daily_trending_devsdaily_trending_postsdaily_trending_reposweekly_trending_devsweekly_trending_postsweekly_trending_reposmonthly_trending_devsmonthly_trending_postsmonthly_trending_repostests
- Start the Server
npm run dev
Refer to .env.sample for detailed environment variable setup.
[Insert Your License Here]
Special thanks to GitHub and Dev.to for providing the incredible developer data that powers this API.
Built with ❤️ by Developers, for Developers