HackaIran / HackaPanel

⌨️ Hacka{Iran}'s Contest Panel / IDE
http://hackairan.com
MIT License
16 stars 5 forks source link
code-editor contest hacka hackathon

Hacka{Iran}'s Contest Panel

Build Status License Gitter Tweet

Compete with others in style!

HackaPanelV3

HackaPanel is a Node application which provides competition system over Hacka{Iran}'s contests with the vast variety of supported languages and features.

Table of Contents

Features

Getting Started

Pre-Installation

  1. Download and Install Node.js
  2. Download and Install MongoDB

Installation

Lets start by installing npm packages on the same route as 'app,js' issue:

> npm install

Then we need to setup the Database using the following commands:

> mongo
MongoDB shell version v3.6.3
connecting to: mongodb://localhost
> use hacka
switched to db hacka

Moving on to installing the Webpack we issue:

> npm install -g webpack 

⚠️ Note: You may need root access, use sudo if installation failed with the error npm ERR! Error: EACCES: permission denied

Rename and remove ".sample" from the files under contest/ like below:

On HackaPanel/ issue:

> webpack

You're Done! Run the server using the following command:

> nodemon app.js

Configurations

Database

You can touch "db" property in "hacka.config.js" like below:

host: 'mongodb://localhost/', // Change it based on your mongodb config
dbname: 'hacka' // Change it if you wish to customize it (Default one is OK!) 

Time

You can touch "time" property in "hacka.config.js" like below:

// You can edit the start time and end time for the duration in between
time: {
    start: {
        hours: 16, // Start time hour
        minutes: 30, // Start time minute
        seconds: 0 // Start time second
    },
    end: {
        hours: 18, // End time hour
        minutes: 10, // End time minute
        seconds: 0 // End time second
    }
}, 

License

Copyright (c) 2017 HackaIran All rights reserved.

This work is licensed under the terms of the MIT license. For a copy, see https://opensource.org/licenses/MIT.