/hashcode

A platform :rocket: developed :technologist: for creating and attempting virtual contest :bookmark_tabs: cooked using codeforces :bar_chart: problems.

Primary LanguageEJS

🚀 hashcode

hashcode is a website developed for creating and attempting virtual contest cooked using codeforces problems.
The major functions of website relies on communication with codeforces API.
Features of hashcode are -- 
1. Creating public/private , mashup/lockout virtual contests.
2. Various useful links of competitive programming in organized way.
3. List of some most frequent STL functions.
4. Collection of good to know one liner facts of competitive programming.

⚡ Link to live website here.

🎯 In future features:

Here is the list of the features which can be added in hashcode in future--
1. Building some interface to find coding buddies of same goal and interest. 

🛠️ Installation:

Code on Gitpod

1. Click below given button.
2. Dependencies will be installed automatically.
3. Create .env file and set enviornment variables.
4. start server by command (Node index).

Open in Gitpod

OR Local Enviornment Setup

1. Cloning repository.
      git clone <repo link> or locally download zip folder.
      
2. Install all dependencies.
      npm install
      
3. Set all enviorement variables in .env file.
      url = <MONGODB URI>
      clientID = <Google O Auth client id>
      clientSecret = <Google O Auth client secret>
      KEY = <Any secret string>
      JWT_KEY = <Any secret string>
      origin = <http://localhost:3000 (for dev) https://hashedcode.herokuapp.com (for production)>
   
4. Run web-app on local host.
      node  (entry js file)

🔧 Contributing:

 1. If you have any idea to improve any functionality or adding new functionality or improving   content.
    You can do that by making some good,  Pull requests in our repository.
 2. You can report any bug or suggest any feature or any improvement by creating an issue.
 3. Contribution step 
    i) Fork the repository.
    ii) Setup local codebase of forked repository (From installation step)
    ii) Add new feature , remove any bug, improve existing feature.
    iii) Push those chanegs to your forked repository.
    iv) Create a pull request to main branch.