GithubHelp home page GithubHelp logo

vabe / decaff Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 19.46 MB

Online gallery for browsing, uploading and interacting with images based on the CAFF (CrySyS Animated File Format) format.

License: MIT License

Python 0.57% Shell 0.07% JavaScript 4.91% TypeScript 55.38% Handlebars 4.74% Makefile 0.22% C++ 33.88% CSS 0.24%

decaff's Introduction

GitHub

deCAFF

Online gallery for browsing, uploading and interacting with images based on the CAFF (CrySyS Animated File Format) format.

⚙️ Prerequisites

  • 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)

⏳ Installation

⚠: 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

📖 Documentation

Please refer to the README in each package for package-specific information, and the Wiki for structural view.

📚 References

  • 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

decaff's People

Contributors

sipulalaci avatar vabe avatar zsomborv avatar

Stargazers

 avatar  avatar

Watchers

 avatar

decaff's Issues

Integrate front- and backend

Consolidate the frontend application with the backend application, initially without any meaningful data transfer happening between the two entities. The goal of this issue is to have the two parts be represented in the same location to improve velocity.

Create Makefile

Create the Makefile for the c++ application to be able to compile

C++ secure coding

Find the C++ secure coding notes and implement them in the application

CAFF parser security checks

  • header id = 1
  • header length = length of data
  • magic = CAFF
  • header_size = header length = length of the whole header data
  • credit id = 2
  • credit length = data length
  • creator_len = len(creator ASCII(
  • animation id = 3
  • length = data length
  • year > 1900

CIFF parser security checks

  • magic = CIFF
  • header_size = whole CIFF header length
  • content_size = width x height x 3 (can be 0)
  • caption ends with \n
  • tags end with \0
  • content pixels RGB are in range 1-255

Create frontend package

Initialise frontend package with all the necessary dependencies and basic configuration files.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.