Giter Site home page Giter Site logo

eddiejaoude / stargate Goto Github PK

View Code? Open in Web Editor NEW
69.0 4.0 32.0 283 KB

Discord bot using Stargate Serverless (Cassandra DB)

Home Page: https://eddiejaoude.github.io/stargate/

License: MIT License

TypeScript 77.34% Shell 12.81% JavaScript 1.13% Dockerfile 8.72%
stargate cassandra stargate-serverless datastax

stargate's Introduction

🤖 Discord bot using Stargate 🤖

Total alerts

Stargate is a data gateway deployed between client applications and a database. It's built with extensibility as a first-class citizen and makes it easy to use a database for any application workload by adding plugin support for new APIs, data types, and access methods. YouTube video of Stargate YouTube thumbmnail for Stargate

Technologies Used

GitHub actions

Tag Name Triggers Results
Changelog status Change Log Pushes to main branch Updates release tag
CodeQL status CodeQL Status Pushes & Pull Request Checkout repository, installs dependencies, build files, perform analysis
Docker Publish status Docker Publish Status Published releases build, test, push to registory, deploy
Docs status Docs status Pushes to doc/ repository Checkout source files, build doc files, deploy
Labels status Labels status Pushes to doc/labels.json checkout source files, install deps, import labels
Node CI status Node CI status Pushes & Pull Request Checkout source files, install dependencies, lint source files, verify build, run tests
Stale issues and PRs status Stale issues and PRs status Iterval of every 30 minutes Updates issue / PR messages & labels

Screenshot

screenshot

Quickstart

  1. Fork the project
  2. Clone project using git clone [email protected]:<YOUR-USERNAME>/stargate.git
  3. Navigate into the project using cd stargate
  4. Run cp .env.example .env
  5. Add the respective env-vars to the .env file
  6. Install dependencies npm install
  7. Run the docker container for stargate (not this repo) with docker-compose up

Docs

Full docs deployed to https://eddiejaoude.github.io/stargate/ and available in the repo at docs/README.adoc

Building the docs

Install AsciiDoctor and CodeRay.

npm run docs

Phase 1

Goals

A video tutorial on how to use Stargate serverless

Features:

  • CRUD usage of Stargate
  • Discord Bot (bio, social links, timezone)
  • 5-10mins edited video

Challenges

  • Cassandra is associated with being "scary"
  • People using what they are used to even if the wrong tool for the job
  • People use what they hear most for example Mongo or an equivalent in the frontend space React

Storytelling

  • That it is not any more difficult than similar alternatives
  • Simple and quick to use at hackathons and build prototypes
  • Scalable so that enterprise projects can use it too
  • Serverless is an affordable option for everyone (also has a free tier)
  • Stargate is open source and can grow and scale with the project

Problem

  • Awareness of Stargate
  • Cassandra scares people, usually perceived as being "difficult" or "hard"
  • Educating people on the benefits of using Stargate

Solution

  • Short / concise video (5-10mins)
  • 1min social teaser video
  • Include what is Stargate serverless
  • Build a simple Discord bot, to get/set user details and read/write to DB using Stargate serverless (bio, socials)

Vision

  • Easily digestible content
  • More projects on Github using Stargate
  • Clear and engaging message
  • Lowering the barrier to entry
  • Low cost of usage
  • Community excited about it

Impact

  • Evergreen content
  • Searchable content
  • Concise / digestible content for everyone to get started
  • Community building their own projects with Stargate serverless

DataStax Discord Bot v0.1

Made with ❤️ by an awesome open source community!

stargate's People

Contributors

adityaraute avatar allanregush avatar eddiejaoude avatar jai-dewani avatar kaiwalyakoparkar avatar khushisharma22 avatar kkrishguptaa avatar mitanshushaba avatar moeinio avatar muthuannamalai12 avatar nitesh-thapliyal avatar sashostoichkov avatar schmelto avatar shaun-fitzgibbon avatar vyvy-vi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

stargate's Issues

Add feature of FAQ in the bot

If users have questions that are frequently asked so for that we can create FAQs, folks can use the FAQ command and the bot will show frequently asked questions answere

EddieBotMap

Creating a map which is just similar to Snapchat and we can add events or hackathons to the Map so that folks can stay updated where the hackathons and events are taking place on the map

Technologies Used!

Create a .md file listing the technologies we are using
For example - typescript

Suggestion: A ordered List would be a good way to list them.
Feel free to ask any doubts :)

Agile story point labels

Involving everyone (developers, designers, testers, deployers... everyone) on the team is key. Each team member brings a different perspective on the product and the work required to deliver a user story. For example, if product management wants to do something that seems simple, like support a new web browser, development and QA need to weigh in because their experience has taught them what dragons may be lurking beneath the surface.

https://www.atlassian.com/agile/project-management/estimation

Numbers needed are from Fibonacci sequence
https://en.wikipedia.org/wiki/Fibonacci_number

{
    "name": "🔢 points: 1",
    "color": "62A1A6"
}

https://github.com/eddiejaoude/stargate/blob/main/docs/labels.json

Labels to use open source standard

To facilitate the community in finding ways to contribute that match their experiences and skillsets, we have developed a comprehensive system for labelling issues and PRs. This is an introduction to this standard labelling scheme.

Labels consist of three fields, viz. name, description and color. Label names should have a consistent format to aid both filtering within the github UI as well as scanning visually through the list. The following format is the most suited to this task (where ⎵ denotes a single space):

<emoji>⎵<category>:⎵<name>

Using the label convention from https://opensource.creativecommons.org/contributing-code/repo-labels/

Adding Stale Bot

I would like to add a stale bot that Automatically close stale Issues and Pull Requests that tend to accumulate during a project.

Feat: Make this in python too

Denise is a python developer too.
Maybe this can be synced with more Data-intensive commands(python is really great at that) revolving around their niche?

This can be made in a new branch : )

Moreover, we can make Python Bots really fast.

Dockerise app

Dockerising the app is great for

  • Build a Docker package
  • Publish to GitHub Registry
  • Github to run both steps

Link to Stargate

Since a lot of folks might not be aware about Stargate, add a link to the repo in the README file.

Add Code of Conduct

I would like to add a code of conduct file as code of conduct is a necessary file which the contributors need to follow so that everyone follows a decorum.

Feat: Create GitHub Action

Description

It would be really helpful to add a GitHub action that will cover the following:

  • Check lint issues
  • Help with updating forked repo

Custom Introduction video for Stargate

We can create a custom video for Stargate to help people get a better idea of Stargate and what this project is about:

  1. Adding custom info about Stargate
  2. Adding necessary details about the project
  3. Maybe we can use some animations just to make it a little bit fun

Use SSH in the quickstart docs

Description

Instead of using HTTPS after forking, it would be recommended to use SSH. A lot more secure and good way to go about things for contributors.

Screenshots

N/A

Additional Context

Change clone project git clone https://github.com/<YOUR-USERNAME>/stargate to clone project git clone [email protected]:<YOUR-USERNAME>/stargate.git in the README.md under QuickStart

Join Eddie's discord community here

Deploy to Docker container to Kubernetes cluster

Docker containers are build on a GitHub release with a GitHub Action, next step is to deploy these to our Kubernetes cluster with a GitHub Action

  • Create a Kubernetes secret for the Discord token via environment variable (Sid)
  • Hello world Discord Bot (Eddie)
  • With test command to get app version (Eddie)
  • Docker environment to accept Discord Token docker run -e DISCORD_BOT_TOKEN=<token> -p 3000:3000 --name stargatebot -d ghcr.io/eddiejaoude/stargate:latest (Eddie)

This will be done on a live stream on Monday 15th at 5pm UK time in collaboration with Sid

Build version number included in docs

It would be great to include the build number in the docs, so if someone has an issue with the docs, we know exactly what version they are looking at - it could be out of date

  • Asciidoctor can have a custom footer
  • On GitHub Action replace {{ VERSION }} in the footer with the package.json version
  • When building the docs include the custom footer

Info about Stargate

We can add more information about Stargate for other people to understand better!

Bio Feature for this bot

We can modify the feature of retrieving the bio of other person without actually tagging the person.

Add Contributing.md

We can have these links for the following in CONTRIBUTION.md file
1.We can add Github documentation links for
i). Getting started with Git and GitHub
ii). Forking a Repo
iiI). Cloning a Repo
iv). How to create a Pull Request
2.Also, we can give the links for git installation
3.We can also add Style Guides for Git Commit Messages
These things will help people new to opensource understand clearly on how to create an issue and how to create a PR.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.