A Discord bot to enhance student learning experiences with flashcards, streaks, leaderboards, and more.
- 📍 Overview
- 📦 Features
- 📂 Structure
- 💻 Installation
- 🏗️ Usage
- 🌐 Hosting
- 📄 License
- 👏 Authors
This repository contains the Discord Study Bot, a comprehensive learning companion designed to enhance student experiences within the Discord environment. The bot offers a range of features including flashcard creation, streak tracking, leaderboards, and various study methods, all aimed at improving motivation, engagement, and academic success.
Feature | Description | |
---|---|---|
🧠 | Flashcard System | Create and manage your own personalized flashcards for various subjects. Features include multiple quiz modes, deck organization, and sharing with others. |
📈 | Streak System | Track your daily or weekly study activity to maintain consistent learning habits. Earn streaks and rewards for achieving specific milestones. |
🏆 | Leaderboards | Compete with other students in a friendly and motivating environment. View global and server-specific leaderboards based on study activity points. |
📚 | Study Methods | Explore a variety of study methods beyond flashcards, including quizzes, spaced repetition, study timers, and integration with external learning resources. |
🎉 | Gamification | Stay motivated with badges, achievements, points, and challenges designed to make learning more engaging and enjoyable. |
🎨 | Customizability | Tailor your learning experience with themes, notification preferences, and study session settings. Create study groups or channels for collaboration. |
🌐 | User Interface | Experience an intuitive and user-friendly interface for seamless Discord interactions with clear commands, menus, and visual elements. |
🔒 | Security | Secure API connections, authentication protocols, and data encryption ensure the protection of user data and the bot's integrity. |
The project's file structure is designed to be modular and scalable, promoting maintainability and organization:
├── commands
│ ├── flashcard.js
│ ├── streak.js
│ ├── leaderboard.js
│ ├── study.js
│ ├── quiz.js
│ ├── help.js
│ └── settings.js
├── events
│ ├── ready.js
│ ├── messageCreate.js
│ ├── guildCreate.js
│ └── interactionCreate.js
├── services
│ ├── flashcardService.js
│ ├── streakService.js
│ ├── leaderboardService.js
│ ├── userService.js
│ ├── studySessionService.js
│ ├── quizService.js
│ └── settingsService.js
├── models
│ ├── flashcard.js
│ ├── user.js
│ ├── streak.js
│ ├── leaderboard.js
│ ├── studySession.js
│ └── settings.js
├── utils
│ ├── commandHandler.js
│ ├── logger.js
│ ├── errorHandler.js
│ ├── responseHelper.js
│ └── constants.js
├── config
│ ├── env.config.js
│ └── database.config.js
├── routes
│ ├── api.js
│ └── web.js
├── middleware
│ ├── authentication.js
│ ├── authorization.js
│ └── errorHandling.js
├── .env
├── package.json
├── README.md
└── src
├── main.js
├── components
│ ├── Flashcard.vue
│ ├── Streak.vue
│ ├── Leaderboard.vue
│ ├── Study.vue
│ ├── Quiz.vue
│ ├── Settings.vue
│ ├── Header.vue
│ └── Footer.vue
├── router.js
├── store.js
├── styles
│ ├── main.css
│ └── tailwind.css
└── public
├── index.html
└── favicon.ico
- Node.js
- npm
- MongoDB
- Clone the repository:
git clone https://github.com/coslynx/discord-study-bot-expansion.git
- Navigate to the project directory:
cd discord-study-bot-expansion
- Install dependencies:
npm install
- Configure environment variables in
.env
:DISCORD_TOKEN=your_discord_bot_token
MONGODB_URI=your_mongodb_connection_string
- Start the development server:
npm run dev
To use the Discord Study Bot, simply add it to your Discord server and start using the commands. Here are some examples:
/flashcard create
: Create a new flashcard deck./flashcard add
: Add flashcards to a deck./streak show
: View your current streak./leaderboard global
: View the global leaderboard./study start
: Start a timed study session.
- Build the project:
npm run build
- Deploy the built application to a hosting service like Heroku or AWS.
This project is licensed under the MIT License.
- Author Name - Spectra.codes
- Creator Name - DRIX10
Why only generate Code? When you can generate the whole Repository!