gbowne1 / TwitchBot

A MERN full stack TwitchBot
MIT License
7 stars 10 forks source link

[TODO] Packages to consider for client and server side #17

Open gbowne1 opened 7 months ago

gbowne1 commented 7 months ago

cron: Schedule jobs (cron jobs) to run at specific times, which can be useful for tasks like cleaning up old data, sending regular notifications, or updating bot commands

dotenv: Already included, but it's worth mentioning again as it's essential for managing environment variables which store sensitive information like API keys and database credentials

winston: For logging purposes, winston is a versatile logging library that can log to multiple transports (console, file, etc.) and offers different levels of logging

bcrypt: For password hashing, if your bot needs to authenticate users or store passwords securely

passport: For implementing authentication strategies, like OAuth with Twitch or local strategy if you have a login system

socket.io: If you haven't already, socket.io can be used for real-time bi-directional event-based communication, perfect for a chatbot interacting with users in real-time

mongoose-sequence: An extension for mongoose that generates auto-incrementing numbers for your documents, useful for creating unique identifiers

validator: For validating and sanitizing strings, which can be crucial for input validation before saving data to the database

joi: Another powerful schema description language and data validator for JavaScript, which can be used for complex data validation scenarios

redux: For state management in your React application, especially if you need to share state across multiple components or persist state across page refreshes

react-redux: Bindings for integrating Redux with React, which makes it easier to connect your Redux store to your React components

redux-thunk: Middleware for Redux that allows you to write action creators that return a function instead of an action, enabling asynchronous behavior like API calls

formik: Simplifies form handling in React by providing validation and error handling out of the box

yup: A JavaScript schema builder for value parsing and validation, often used alongside Formik for form validation

date-fns: A modern JavaScript date utility library for parsing, formatting, manipulating, and comparing dates

history: A JavaScript history library that lets you manage session history, navigate, confirm navigation, and persist state between sessions

query-string: A small library to parse and stringify URL query strings, useful for reading and writing complex query parameters