Skip to content

michaelilao/photoground

Repository files navigation

photoground

photo gallery and storage solution

last-commit repo-top-language repo-language-count

website snippet


Quick Links


Overview

Building this project as a simple express api/web server template, including sqlite db, support for file upload, jest unit-tests. Currently using this to test new ideas and learn new technolgies. This current version is deployed on a digital ocean VM using nginx and cloudflare.


Getting Started

Requirements

Ensure you have the following dependencies installed on your system:

Installation

  1. Clone the photoground repository:
git clone https://github.com/michaelilao/photoground
  1. Change to the project directory:
cd photoground
  1. Install the dependencies:
npm install --global yarn // if you do not have it installed yet
yarn install
yarn add sharp --ignore-engines
  1. Create your .env file
cp .sample.env .env

Running photoground

Use the following command to run photoground in dev mode:

npm run dev

To deploy photoground use:

npm run start

photoground uses tailwind, when any new classes are added run:

npm run tailwind

Tests

To execute tests, run:

npm test

Features to Implement

Backend

  • documentation for api swagger
  • dynamic db statements / orm
  • extract out db layer and file system layer
  • favourite and tags

Frontend

  • dynamic gallery
  • poll for recently added photos, poll for 30s after landing
  • put modal image in its own class, better structure

Cloud & Hosting

  • SEO, sitemap.xml, searchable on google
  • pipelines

Misc

  • documentation/readme

Bugs

  • rotate bugs after saving - hard to recreate
  • modal image/height sometimes not fitting

Acknowledgments