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

https://github.com/code-society-lab/cursif-backend

A collaborative, scriptable and flexible note taking application.
https://github.com/code-society-lab/cursif-backend

collaboration elixir flexible notes open-source scriptable

Last synced: 18 days ago
JSON representation

A collaborative, scriptable and flexible note taking application.

Awesome Lists containing this project

README

          

Cursif Backend



Join on Discord


License


Last Updated


Elixir


Phoenix


PostgreSQL

Cursif is a collaborative, scriptable, and flexible note-taking application that aims to help teams manage their projects.

## Getting Started

### Requirements

- [Elixir](https://elixir-lang.org/install.html)
- [Phoenix](https://hexdocs.pm/phoenix/installation.html)
- [Postgresql](https://www.postgresql.org/download/)

### Configurations
Make sure you have installed the requirements above before continuing.

#### Connect your database
In the project root directory, locate and edit the file named `.env`. Add the following
information inside.

```
export POSTGRES_USER=
export POSTGRES_PASSWORD=
```

#### Setup the application
* Install dependencies with `mix deps.get`
* Create and migrate your database with `mix ecto.setup`

### Start the application:
Start Cursif with `mix phx.server` or inside IEx with `iex -S mix phx.server` (recommended for development). You can, now, consume the API from `localhost:4000/api`.
You can test queries at [`localhost:4000/graphiql`](http://localhost:4000/graphiql)

> To monitor the application, you can access the dashboard at [`localhost:4000/dashboard`](http://localhost:4000/dashboard) from your browser.

#### Troubleshooting
If the application fails to load the environment variable, execute `source .env` from the root directory

## Advance configurations
For advanced configurations, visit the [wiki](https://github.com/Code-Society-Lab/cursif-backend/wiki)

## Resources

### Elixir

- [Official website](https://elixir-lang.org)
- [Docs](https://hexdocs.pm/elixir)
- [Style guide](https://github.com/christopheradams/elixir_style_guide)
- [Mix](https://hexdocs.pm/mix/1.14/Mix.html)

### Phoenix

- [Official website](https://www.phoenixframework.org/)
- [Docs](https://hexdocs.pm/phoenix)
- [Guides](https://hexdocs.pm/phoenix/overview.html)
- [Ecto](https://hexdocs.pm/ecto/)

### Absinthe & GraphQL

- [Absinthe docs](https://hexdocs.pm/absinthe/overview.html)
- [GraphQL](https://graphql.org/)

## Contribution
Contributions are always welcomed and appreciated! See the [contribution guidelines](https://github.com/Code-Society-Lab/cursif-backend/blob/main/CONTRIBUTING.md).