/gloogle

Search engine for the gleam ecosystem! Search across the entire gleam ecosystem!

Primary LanguageGleamApache License 2.0Apache-2.0

Gloogle

Gloogle is a search engine, able to query the entirety of the Gleam ecosystem! Search for a function or a type, and let the magic happen!

First beta version is available!

Features

Some features are already implemented, and some others are still on the roadmap!

  • Search for a function or a type by its name
  • Search for a function or a type by its type
  • Search with a document search accross the gleam ecosystem (with vector search)
  • Navigate in the documentation by clicking on types
  • Head back to HexDocs when looking for something specific
  • Find a way to expose the database
  • Get GitHub stars for each package on a regular basis
  • Enables Search in documentation directly
  • Filters included with in:module, in:name, in:signature and in:documentation

Future developments

  • Use a proper parser to draw a graph of the function calls
  • Add analytics to extract trends
  • Get Hex data for each package on a regular basis
  • Do something with the GitHub stars

Getting Started

# Initialise the DB.
yarn backend:db:init
# Reset the DB when you need.
yarn backend:db:reset
# apps/backend/.mise.local.toml
# Used in env variables mainly.

[env]
# Default server options.
PORT = 3000
LOG_LEVEL = "DEBUG"

# Local database.
DATABASE_URL = "postgres://gloogle:gloogle@localhost:5432/gloogle?sslmode=disable"

# Used to access hex API.
HEX_API_KEY = "xxxxx"

# Used to crawl starsgazers.
GITHUB_TOKEN = "xxxxx"

Contributing

If Gloogle please you, you can also contribute! Pull Requests are welcome!

An issue?

Open an issue on the repo! That would be extremely helpful!

Copyrights

All rights for Lucy (the gleam mascott) belongs to their creators. Every Lucy will be removed upon demands.

This project can have lived thanks to Louis Pilfold, who did an amazing work on Gleam Packages, that has been used as a foundation. All credits for libraries used goes to the brilliant, vibrant gleam community. 💜