Online gallery for browsing, uploading and interacting with images based on the CAFF (CrySyS Animated File Format) format.
- node (tested with
v16.15.0
) - yarn (tested with
1.22.5
) - python (tested with
3.10.8
) - MinGW (tested with
12.1.0
) - Docker (tested with
20.10.17
)
⚠: Before running any of the commands, make sure to define the .env
files and their values in the ./frontend
and ./backend
packages. Example values and the required keys can be found in their corresponding README.md
files.
To install and start up the stack, run the following commands in order:
# From the root
# Parser initialisation
pip install -r .\requirements.txt
python api.py
# Backend initialisation
cd .\backend\
# install dependencies
yarn
# initialise db
# starts a docker container with PostgreSQL,
# runs all previous migrations, and generates prisma types
yarn db:init
# start backend
yarn dev
# Go back to root
cd ..
# Frontend
cd .\frontend\
# install dependencies
yarn
# start frontend
yarn dev
Please refer to the README in each package for package-specific information, and the Wiki for structural view.
- NestJS: Node.js framework for building efficient, reliable and scalable server-side applications
- File up- and download: Nest provides a built-in module based on the multer middleware package for Express
- Flask: a micro web framework written in Python
- python subprocess: allows spawning new processes, connecting to their input/output/error pipes, and obtaining their return codes
- PostgreSQL: a powerful, open source object-relational database system
- MUI: comprehensive suite of UI tools and components, highly customizable
- ReactQuery: asynchronous state management that supports stale-while-revalidate caching mechanism
- axios: promise-based HTTP client
- lodash: JS utility library
- msw: next generation mocking that intercepts requests on the network level
- prettier: opinionated code formatter