/The-Social-Coders-Network

Explore various coding background and experiences of users from all around the world.

Primary LanguageJavaScriptMIT LicenseMIT

Unleash the power of global coding community with Social Coding Network - where coders connect, learn and grow together! Collaborate, Innovate, and Succeed!

const express = require("express");
const app = express();

app.get("/", function (req, res) {
  res.send("Welcome to our social coding experience api!");
});

app.listen(3000);

Content

Motivation

Social Coding Network is a platform built to connect coders from around the world, fostering a community where they can learn from and collaborate with one another. With the ever-evolving technology industry, staying current with the latest coding languages, techniques, and tools can be challenging. This platform aims to bridge that gap by providing a space for coders to share their knowledge and experiences, helping others to improve their coding skills and advance their careers. With Social Coding Network, coders can connect, learn, and grow together, and become part of a global community of like-minded individuals.

Features

  • Showcase your coding expertise with our website scraper that automatically fetches your profile data from top coding websites.
  • Get recognized by the community with our peer review feature.
  • Climb the ranks with our rating algorithm that takes into account your coding experience and community feedback.
  • Connect and collaborate with coders from around the world by adding friends and refer each other by sharing profiles.
  • See where you stand on the global leaderboard and compare yourself against top coders and your friends.

Built With

  • NodeJS - Node.js is an open-source, cross-platform, back-end JavaScript runtime environment.
  • MongoDB NoSQL - MongoDB is an open source NoSQL database management program.
  • Docker - Docker is a software platform that allows you to build, test, and deploy applications quickly.
  • Express.js- Fast, unopinionated, minimalist web framework for Node.js.
  • Mocha - Mocha is a feature-rich JavaScript test framework running on Node.js and in the browser.
  • Chai - Chai is a BDD / TDD assertion library for node and the browser.

Prerequisites

Getting Started

.env file

To run this project, create a local.env, test.env in docker and .env in root directory with following env variables

NODE_ENV=development
CLOUD_NAME=<your-cloudacc-cloudname>
API_KEY=<your-cloudacc-apikey>
APP_KEY=hevhbdjvbewufhewhvbew
API_SECRET=<your-cloudacc-apisecret>
DATABASE_LOCAL_DB=mongodb://mongo:27017<your-db-name>
DATABASE_TEST_DB=mongodb://mongo:27017/<your-db-name>
COOKIE_EXPIRES=3
JWT_SECRET = socialcodingapp
JWT_EXPIRES = 3d

Include your cloudinary credentails after creating account from https://cloudinary.com.

Lastly, replace below .env variable values of .env file in root dir

DATABASE_LOCAL_DB=mongodb://mongo:27017<your-db-name>
DATABASE_TEST_DB=mongodb://mongo:27017/<your-db-name>

Open terminal and use the following commands to start nodejs and mongodb server

cd docker
docker-compose up -d --build

Access Backend api's at

http://localhost:80/

Access MongoDB server at

http://localhost:8081/

API Documentation

To understand how to use the api, access to links down below. API collections has been published through postman so that you see and run by simply clicking run in postman button at topmost right of page.

To Authenticate user

User specific

Add Friends

Rate Users

Contributing

The Social Coding Network project welcomes all constructive contributions. We are currently creating screens with hardcoded data. We intend to keep the repository always open. Feel free to contribute in many forms from code for bug fixes and enhancements, to additions and fixes to documentation, additional tests, triaging incoming pull requests and issues, and more!

Usefull Links

Running Tests

To run the test suite, first install the dependencies, then run npm test:

$ npm install
$ npm test