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

https://github.com/albertyw/nopages


https://github.com/albertyw/nopages

google-docs hacktoberfest

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

          

# [nopages.net](https://www.nopages.net)

[![Build Status](https://drone.albertyw.com/api/badges/albertyw/nopages/status.svg)](https://drone.albertyw.com/albertyw/nopages)
[![Maintainability](https://qlty.sh/gh/albertyw/projects/nopages/maintainability.svg)](https://qlty.sh/gh/albertyw/projects/nopages)
[![Code Coverage](https://qlty.sh/gh/albertyw/projects/nopages/coverage.svg)](https://qlty.sh/gh/albertyw/projects/nopages)
[![Varsnap Status](https://www.varsnap.com/project/67ecf784-ada3-48ba-99cf-c19715f886a3/varsnap_badge.svg)](https://www.varsnap.com/project/67ecf784-ada3-48ba-99cf-c19715f886a3/)

No page breaks in Google Docs

## Development

### Setup Development Environment

Using [python venv](https://docs.python.org/3/library/venv.html),
[direnv](https://github.com/direnv/direnv), and [pnpm](http://pnpm.io/).

```bash
python3.14 -m venv env
pip install -e .[test]
ln -s .env.development .env
pnpm install
```

### Spinning up the server

```bash
pnpm run build:dev
python app/serve.py
```

### Running tests

```bash
ruff check .
mypy .
shellcheck --exclude=SC1091 bin/*.sh
coverage run -m unittest discover
pnpm test
```

## CI/CD

This repo uses:

```bash
# Setup
pyenv local 3.14
pip install -e .[test]
ln -s .env.development .env

# Test
ruff check .
mypy .
coverage run -m unittest discover
coverage report
pnpm test

# Deployment
ssh ubuntu@direct.albertyw.com nopages/bin/deploy.sh
```

### Building and starting the docker container

```bash
docker build -t nopages:test .
docker run -t -i -p 127.0.0.1:5000:5000 nopages:test
```

## Production

### Setup Production Environment

Run this once on a new server to set up the web app:

```bash
bin/setup.sh
```

### Deployment

Run this every time for a new commit to the repository:

```bash
bin/deploy.sh
```