All Projects → acm309 → Putongoj

acm309 / Putongoj

Licence: mit
Putong Online Judge -- An online judge with nothing special

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Putongoj

Lad
👦 Lad is the best Node.js framework. Made by a former Express TC and Koa team member.
Stars: ✭ 2,112 (+1245.22%)
Mutual labels:  redis, mongodb, koa
Blog Service
blog service @nestjs
Stars: ✭ 188 (+19.75%)
Mutual labels:  redis, mongodb, koa
Vue Family Bucket Ssr Koa2 Full Stack Development From Meituan
🚀🚀2020最新Vue全家桶+SSR+Koa2全栈开发☁
Stars: ✭ 100 (-36.31%)
Mutual labels:  redis, mongodb, koa
Nest Cnode
CNode 社区 Nest 版本 https://cnodejs.org/
Stars: ✭ 125 (-20.38%)
Mutual labels:  redis, mongodb
Mdserver Mac
mdserver (mac version, secondary development)
Stars: ✭ 121 (-22.93%)
Mutual labels:  redis, mongodb
Cash
HTTP response caching for Koa. Supports Redis, in-memory store, and more!
Stars: ✭ 122 (-22.29%)
Mutual labels:  redis, koa
Daudit
🌲 Configuration flaws detector for Hadoop, MongoDB, MySQL, and more!
Stars: ✭ 108 (-31.21%)
Mutual labels:  redis, mongodb
Express Mongodb Rest Api Boilerplate
A boilerplate for Node.js apps / Rest API / Authentication from scratch - express, mongodb (mongoose).
Stars: ✭ 153 (-2.55%)
Mutual labels:  redis, mongodb
Vertx Feeds
Feed aggregator using Vert.x 3 (showcase)
Stars: ✭ 127 (-19.11%)
Mutual labels:  redis, mongodb
Last Blog
仿GitHub风格个人博客, vue+vuex+koa+mongodb
Stars: ✭ 128 (-18.47%)
Mutual labels:  mongodb, koa
Nosqlmap
Automated NoSQL database enumeration and web application exploitation tool.
Stars: ✭ 1,928 (+1128.03%)
Mutual labels:  redis, mongodb
Dtcqueuebundle
Symfony2/3/4/5 Queue Bundle (for background jobs) supporting Mongo (Doctrine ODM), Mysql (and any Doctrine ORM), RabbitMQ, Beanstalkd, Redis, and ... {write your own}
Stars: ✭ 115 (-26.75%)
Mutual labels:  redis, mongodb
User.api
集成网关、身份认证、Token授权、微服务、.netcore等的基于CQRS的微服务开发框架示例
Stars: ✭ 109 (-30.57%)
Mutual labels:  redis, mongodb
Ledokku
Beautiful web UI for all things Dokku
Stars: ✭ 103 (-34.39%)
Mutual labels:  redis, mongodb
Blog
我的日记
Stars: ✭ 110 (-29.94%)
Mutual labels:  redis, mongodb
Koa Vue Fullstack
A lightweight boilerplate for a universal webapp based on koa, mongodb, node, vue, and webpack
Stars: ✭ 126 (-19.75%)
Mutual labels:  mongodb, koa
Vagrant Elastic Stack
Giving the Elastic Stack a try in Vagrant
Stars: ✭ 131 (-16.56%)
Mutual labels:  redis, mongodb
Sourcecodeofmongoredis
《左手MongoDB,右手Redis——从入门到商业实战》书籍配套源代码。
Stars: ✭ 135 (-14.01%)
Mutual labels:  redis, mongodb
Cachego
Golang Cache component - Multiple drivers
Stars: ✭ 148 (-5.73%)
Mutual labels:  redis, mongodb
Ymate Platform V2
YMP是一个非常简单、易用的轻量级Java应用开发框架,涵盖AOP、IoC、WebMVC、ORM、Validation、Plugin、Serv、Cache等特性,让开发工作像搭积木一样轻松!
Stars: ✭ 106 (-32.48%)
Mutual labels:  redis, mongodb

Putong Online Judge v2

(For version 1, please visit here)

Build Status Codecov David Node JavaScript Style Guide License

Preview

Demo (Test Account: 123456 / 123456)

Documentation

Currently Not available

Features

  • Built on Docker -- One click Deployment
  • Single Page Application -- Better User Experience
  • Support multiple cases of test data
  • Powered by Vue.js, Koa.js, MongoDB, Redis

Delpoyment

Note: This project is still during BETA stage

Docker

  1. clone this project
git clone https://github.com/acm309/PutongOJ.git PutongOJ
  1. compose up
docker-compose up

or

daemon mode

docker-compose up -d

It will listen on 80 ports after it is successfully deployed. Then you can directly visit this platform.

Enjoy it!

Manual Installation

Ubuntu is recommended. You can deploy this platform on other linux, but I can't ensure it must work.

  1. install Node.js mongodb && redis

  2. install some system dependencies (for ubuntu)

apt-get install libcairo2-dev libpango1.0-dev build-essential
  1. clone this repo
git clone https://github.com/acm309/PutongOJ.git
  1. install project dependencies
npm i -g yarn
yarn
  1. setup database connections

export variables

export redisURL='your redis url'
export dbURL='your mongodb url'

update config/index.js

const prod = {
  port: 3000 // the port the application will listen on
}
  1. setup static files and judger
node manager.js

pm2.config.json would be generated.

  1. start

install pm2 first

npm i -g pm2

then start with pm2

pm2 start pm2.config.json

Migration

Know the Container Id of the mongodb container by running:

docker ps

dump

Replace <Container id> with the real id of your running mongodb container

docker exec -it <Container id> mongodump --out /data/backup --db oj

The output data will be stored at migrations/backup/

restore

docker exec -it <Container Id> mongorestore --db oj --drop /data/backup/oj

static files

copy files to public folder

Replace <Container id> with the real id of your running oj container

docker cp <SRC_PATH> <Container Id>:/app/public

Browser Support

  • IE: NOT recommended
  • Chrome: 50 or above is recommended
  • Firefox: 50 or above is recommended
  • Edge: recommended

LICENSE

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].