Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ghivert/gloogle

Search engine for the gleam ecosystem! Search across the entire gleam ecosystem!
https://github.com/ghivert/gloogle

backend frontend gleam lustre search wisp

Last synced: about 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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!](https://gloogle.run)

## 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](https://hexdocs.pm) 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

```sh
# Initialise the DB.
yarn backend:db:init
# Reset the DB when you need.
yarn backend:db:reset
```

```toml
# 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](https://github.com/gleam-lang/packages), that has been used as
a foundation. All credits for libraries used goes to the brilliant, vibrant
gleam community. 💜