A Node.js, TypeScript, Express, Cloudinary and MongoDB based backend for scheduling posts on LinkedIn.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Node.js installed on your machine.
- A MongoDB database setup and running.
- A Cloudinary account for storing media files.
- An App in Linkedin Developers
- Clone the repository
git clone https://github.com/hannanel100/pigeon-backend.git
- Navigate to the project directory
cd pigeon-backend
- Install the required dependencies
npm install
- Set up environment variables in a
.env
file, including:- CLIENT_ID (for linkedin)
- CLIENT_SECRET (for linkedin)
- REDIRECT_URI (for linkedin)
- DB_USERNAME
- DB_PASSWORD
- CLOUDINARY_CLOUD_NAME
- CLOUDINARY_API_KEY
- CLOUDINARY_API_SECRET
- CLOUDINARY_URL
- Start the server with
npm run start
The API has the following endpoints:
- /api/auth
- GET /accessToken/:code
- GET /accessToken/introspect/:code
- /api/posts
- POST /
- GET /
- PUT /:id
- DELETE /:id
- /api/users
- GET /linkedin/user/:accessToken
- POST /linkedin/user
- GET /linkedin/user/:id
- GET /linkedin/users
- Node.js - JavaScript runtime.
- TypeScript - Superset of JavaScript.
- Express - Web framework for Node.js.
- Cloudinary - Cloud-based media management solution.
- MongoDB - NoSQL database.
This project is licensed under the MIT License. See the LICENSE.md file for details.