Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/illegalprime/member-tracking
https://github.com/illegalprime/member-tracking
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/illegalprime/member-tracking
- Owner: illegalprime
- Created: 2023-06-26T01:12:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-29T16:40:42.000Z (over 1 year ago)
- Last Synced: 2023-09-29T20:08:37.334Z (over 1 year ago)
- Language: Elixir
- Size: 371 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ~ Member Tracking ~
## Local Development
### 1. Install Nix
The nix package manager works on linux & mac, and ensures our app and its
dependencies are exactly the same across machines (at the byte-level) by using
a system of determinstic builds and input hashing. Using it is the fastest way
to get all the needed packages on your machine. Install it with:https://nixos.org/download.html
You might need to restart your shell or edit your PATH after the install
(just follow the prompts).### 2. Enter the Shell
Running `nix-shell` in this directory will fetch all the project's dependencies
and (while you're in the shell) add them to your PATH. This is _not_ a
container, it's just a fancy shell environment. On first run it will take a
minute to download everything, so I find it eaiser to make it verbose:```
nix-shell --verbose
```If you have direnv, you can activate this shell every time you enter it in
the terminal. To enable this, install [direnv](https://direnv.net/)
and run `direnv allow` in this directory.### 3. Launch PostgreSQL
In the nix-shell, the `scripts/database` script is already in your `PATH`, so run:
```bash
database start
```### 4. Setup Phoenix
This will install Elixir's dependencies and run migrations:
packages using:```
mix setup
```### 5. Serve
Elixir will launch your app and put you in a REPL inside the app's context:
```
iex -S mix phx.server
```Now you can visit [`localhost:4000`](http://localhost:4000) from your browser.