A full-stack application with React frontend and Node.js/Express/MongoDB backend.
stitchapi/
├── frontend/ # React + Vite Frontend
│ ├── src/
│ │ ├── components/ # UI Components
│ │ │ ├── ConnectModal.tsx
│ │ │ └── Icon.tsx
│ │ ├── context/ # React Context
│ │ │ ├── AuthContext.tsx
│ │ │ └── HexContext.tsx
│ │ ├── pages/ # Page Components
│ │ │ ├── Builder.tsx
│ │ │ ├── Console.tsx
│ │ │ ├── Dashboard.tsx
│ │ │ ├── Landing.tsx
│ │ │ ├── Login.tsx
│ │ │ └── Settings.tsx
│ │ ├── services/ # API Services
│ │ │ ├── api.ts # Backend API calls
│ │ │ ├── apiConnectors.ts
│ │ │ ├── backend.ts
│ │ │ └── aiService.ts
│ │ ├── App.tsx
│ │ ├── constants.ts
│ │ ├── index.tsx
│ │ └── types.ts
│ ├── index.html
│ ├── package.json
│ ├── tsconfig.json
│ ├── vite.config.ts
│ ├── .env.example
│ └── .gitignore
│
├── backend/ # Node.js + Express + MongoDB Backend
│ ├── src/
│ │ ├── models/ # Mongoose Models
│ │ │ ├── User.ts
│ │ │ └── Endpoint.ts
│ │ ├── routes/ # API Routes
│ │ │ ├── auth.ts
│ │ │ ├── endpoints.ts
│ │ │ └── execution.ts
│ │ ├── services/ # Business Logic
│ │ │ └── executionService.ts
│ │ └── server.ts # Express Server
│ ├── package.json
│ ├── tsconfig.json
│ ├── .env.example
│ └── .gitignore
│
├── package.json # Root package.json for scripts
├── .gitignore
└── README.md
-
Navigate to backend directory:
cd backend -
Install dependencies:
npm install
-
Create
.envfile:copy .env.example .env
-
Update
.envwith your MongoDB connection string -
Start the development server:
npm run dev
Backend will run on http://localhost:5000
-
Navigate to frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
Frontend will run on http://localhost:5173
Make sure MongoDB is installed and running locally, or use MongoDB Atlas for a cloud database.
Local MongoDB: mongodb://localhost:27017/stitchapi
POST /api/auth/login- User loginPOST /api/auth/signup- User signup
GET /api/endpoints- List user endpointsPOST /api/endpoints- Create endpointGET /api/endpoints/:id- Get single endpointDELETE /api/endpoints/:id- Delete endpoint
POST /api/execution/:endpointId- Execute endpoint
GET /api/youtube/channel- Get channel informationGET /api/youtube/channel/statistics- Get channel statisticsGET /api/youtube/channel/uploads- Get uploaded videosGET /api/youtube/subscriptions- Get subscriptionsGET /api/youtube/playlists- Get playlistsGET /api/youtube/playlists/:playlistId/items- Get playlist itemsGET /api/youtube/liked-videos- Get liked videosGET /api/youtube/rated-videos- Get rated videos (like/dislike)GET /api/youtube/watch-later- Get Watch Later playlistGET /api/youtube/watch-history- Get watch historyGET /api/youtube/subscription-videos- Get subscription activitiesGET /api/youtube/subscription-feed- Get recent videos from subscriptionsGET /api/youtube/videos/:videoId- Get video detailsGET /api/youtube/videos/:videoId/comments- Get video commentsGET /api/youtube/search- Search videos/channels/playlistsGET /api/youtube/trending- Get trending videosGET /api/youtube/categories- Get video categoriesGET /api/youtube/channels/:channelId- Get channel by ID
StitchAPI supports real-time integration with multiple APIs:
- GitHub - Repository stats, issues, pull requests
- Spotify - Playlists, current track, top artists/tracks
- Gmail - Inbox, sent, labels, message details
- YouTube - Channel stats, subscriptions, playlists, liked videos, watch later
- Weather - Current conditions via OpenWeatherMap
- And more coming soon!
For detailed setup instructions:
- React 19
- TypeScript
- Vite
- React Router
- Recharts
- Lucide Icons
- Node.js
- Express
- MongoDB + Mongoose
- TypeScript
- CORS
- OAuth 2.0 Integration