This project is a Telegram-based job management platform that utilizes TDLib (Telegram Database Library) to integrate Telegram functionalities with a user-friendly web interface built using Node.js and Next.js. It allows users to manage job postings, applications, and notifications directly through Telegram, making it easier for both recruiters and applicants to connect.
We have a comprehensive Wiki that includes detailed documentation about the platform’s architecture, features, integrations, and more.
- Telegram Integration: Fully automated job management system using Telegram’s API powered by TDLib.
- Real-time Updates: Receive notifications, job postings, and application statuses directly via Telegram.
- Web Interface: A beautifully designed and intuitive front-end using Next.js for seamless interaction.
- Job Posting & Tracking: Easily create, post, and track job applications within the platform.
- Secure Data Handling: User data is managed securely with modern encryption practices.
Here is an overview of the system architecture represented through a UML diagram:
-
Backend:
- TDLib: For Telegram API integration.
- Node.js: For server-side logic.
- Express.js: Lightweight server framework.
- SQL Database: For managing job postings, users, and application data.
-
Frontend:
- Next.js: For building the React-based web application.
- CSS/Styled-Components: For making the interface visually appealing.
- Shadcn/ui: Beautifully designed components.
-
Workers: Custom workers handle background tasks, like sending job notifications and syncing with Telegram.
For detailed information on the API endpoints and how to interact with the Telegram Job Management Platform, please refer to our API documentation:
This documentation provides comprehensive details on all available API routes, including authentication, job creation, user management, and more.
PageSpeed Insights Docs Enter a valid URL Analyze Make your web pages fast on all devices Check out What's new Documentation Learn about Web Performance
You can check out the live production version of our application below:
- Web App: Production Link
- API Base URL: Production API
Follow these instructions to set up the project on your local machine.
Make sure you have the following installed:
- Node.js (v14+)
- TDLib (v1.7+)
- MySQL or any compatible SQL database
- Telegram bot credentials (API key, etc.)
-
Clone the repository:
git clone https://github.com/your-username/tech_award_2024.git cd tech_award_2024
-
Install dependencies:
cd /server && npm install cd /workers && npm install cd /web && npm install
-
Set up environment variables:
- Create a
.env
file based on.env.example
and add your Telegram API keys, database credentials, and other necessary configurations.
cp .env.example .env
- Initialize the database:
mysql -u root -p < db.sql
-
Start the development server:
cd /server && npm run start cd /workers && node app.js cd /web && npm run dev
-
Access the web app:
Open your browser and go to http://localhost:3000
.
├── jobs # Background tasks like job notifications
├── server # Server-side code (Node.js, Express)
├── web # Frontend (Next.js)
├── workers # Background job workers (e.g., job sync with Telegram)
├── db.sql # SQL database structure for job postings and user data
├── package.json # Project dependencies and scripts
├── README.md # This file
└── .env.example # Example environment configuration
Our platform leverages the Telegram Database Library (TDLib) to provide seamless communication between our platform and Telegram. Once set up, the bot can:
- Send job postings directly to Telegram.
- Notify users of new applications and status updates.
- Allow job seekers to apply through Telegram messages.
To get started with the Telegram bot:
- Create a bot via BotFather and get your API token.
- Add your Telegram credentials in the
.env
file.
- Mensenvau: Backend logic, Telegram integration, and job management functionality.
- Nurmuhammad: Backend logic and deployment assistance.
- Bobir Samadov: Frontend, design, and deployment assistance.
We believe that job applications should be as accessible as possible, and leveraging a popular platform like Telegram simplifies the process for millions of users worldwide. Our project offers a unique and efficient solution for managing jobs and applications directly through Telegram while providing a robust web interface for recruiters and companies.