COMPETITIVE CODER - project by Anurag and Teja




About the project :

The coding platform gives users an opportunity to showcase their abilities by competing with the best and earn the advantage to land exclusive job offers, and much more.We provide a community platform to Build a learning network and elevate career possibilities by developing communities and sharing in their enterprises.CCoder Highlights the track to knowledge using the Experience Graph and has the communities that support aspirants journey and inspires them by their experience.The interface is very fast, and users can easily connect with a respective social signing.

What A user can expect from the project?

  • We had built an Backend API for Coding Platform in which user can:
  • Register using Our Email based Authentication or with social login like github and google
  • Will be able to participate in our handpiced Coding Challenges tested to improve their programmings skills 
  • Can Code in Multiple Languages (C,C++,JAVA,Python,Javascript(node) )
  • Can Use the discussion section of a challenge so that he can get a help from other users
  • Leaderboard Section Of Every Challenge Based On Submission of the challenge
  • A user can bookmark a challenge so that later he can find it easily.
  • Can Create his own challenge with N number of dynamic Testcases.
  • Can update or delete his created challenge and its testcase
  • Can even create a contest so that other user can participate in it.
  • Can add N number of Challenges in a contest From our challenges database or can create a new Challenge.
  • And also can update details of the contest
  • Can add or delete a moderator to the contest.
  • Can update his Profile detail like name,username,etc
  • A User Can Also Change his Password
  • And if the user forgets password he can also reset it from our platform

Technologies used :

  • Nodemailer (To send system generated emails)
  • Multer + Cloudinary (Converting System Image into URL)
  • Express Js (Framework for node Js)
  • Json Web token (For Authentication)
  • Bcrypt Js (For Hashing)
  • Mongoose (To Connect to NoSQL Database)
  • Compile-run (To compile the code)
  • Express-validator (To validate the Data user is Sending)
  • Passport (For third Party user authentication)
  • JEST & SuperTest (For Unit Testing)
  • mongodb-memory-server (For Storing Data in Memory Database while testing)