Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leetgrindbot/leetgrindbot-v1
An exclusive bot for the y2's Discord server! LeetGrindBot brings daily LeetCode challenges to keep skills sharp and foster friendly competition. Track your progress and climb the leaderboard every week! 🎉
https://github.com/leetgrindbot/leetgrindbot-v1
axios discord-js docker postgresql prisma typescript
Last synced: about 2 months ago
JSON representation
An exclusive bot for the y2's Discord server! LeetGrindBot brings daily LeetCode challenges to keep skills sharp and foster friendly competition. Track your progress and climb the leaderboard every week! 🎉
- Host: GitHub
- URL: https://github.com/leetgrindbot/leetgrindbot-v1
- Owner: LeetGrindBot
- Created: 2024-10-26T18:54:05.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2024-11-27T10:13:59.000Z (2 months ago)
- Last Synced: 2024-12-14T19:45:37.838Z (about 2 months ago)
- Topics: axios, discord-js, docker, postgresql, prisma, typescript
- Language: TypeScript
- Homepage:
- Size: 245 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# LeetGrindBot 🦇 - V1
## Description
LeetGrindBot is an exclusive Discord bot for the **y2's Empire** server, designed to send a new LeetCode challenge to members every day and display a weekly leaderboard of the top performers. This bot encourages daily practice and fosters friendly competition around algorithms and problem-solving.## ✨ Features
- **Daily LeetCode Challenges**: Each day, the bot sends a new problem to keep members engaged and practicing consistently.
- **Weekly Leaderboard**: The bot displays a leaderboard every week, highlighting the top three solvers.
- **Exclusive Access**: Currently limited to the "y2's Empire" Discord server.## 🔪 Technologies Used
### Backend
- **TypeScript**: Ensures a reliable and maintainable codebase.
- **Discord.js**: API to integrate with Discord.
- **Axios**: Handles HTTP requests to retrieve LeetCode problems.### Database
- **PostgreSQL**: Relational database to store scores and user data.
- **Prisma**: ORM for streamlined database management.### DevOps
- **Docker**: Containerization for simplified and consistent deployment.## 🤸 Quick Start
Follow these steps to set up the project locally on your machine.
### Prerequisites
Make sure you have the following installed on your machine:
Git
Node.js
npm (Node Package Manager)1. Clone the repository:
```bash
git clone https://github.com/LeetGrindBot/LeetGrindBot-V1.git
cd leetgrindbot-v12. Install dependencies:
```bash
npm install4. Set up environment variables. Create a .env file in the root directory and add your configurations:
```bash
DISCORD_TOKEN="your-discord-bot-token"
MODE="dev"
GUILD_ID="your-guild-id"
CHANNEL_ID="your-channel-id"
DB_DATABASE=""
DB_USERNAME=""
DB_PASSWORD=""
DB_PORT=""
DATABASE_URL=""4. Run the bot with Docker (optional):
```bash
docker-compose up
5. Start the bot in development mode:```bash
npm run start## 🎉 Contributing
![contributors](https://contrib.rocks/image?repo=LeetGrindBot/LeetGrindBot-V1)
LeetGrindBot V1 is currently exclusive to the y2's Empire server, but contributions are welcome for testing or local development!
1. Fork the repo
2. Create your feature branch (git checkout -b feature/AmazingFeature).
3. Commit your changes (git commit -m 'Add some AmazingFeature').
4. Push to the branch (git push origin feature/AmazingFeature).
5. Create a Pull Request 🎉## Contact
For questions or suggestions, join us on the y2's Empire Discord server or reach out via GitHub or 𝕏.