![Logo](https://github.com/Andrei123f/RELI-Front-end/raw/main/public/reli-logo.jpg)
E-learning platform that evaluates the solution using ASTs(Abstract Syntax Trees) comparisons and unit testing.
**This is the RenderLingo API documentation. If you want to read the RendeLingo Portal documentation please click here.**
Table of Contents
This is the API for the RenderLingo Portal. The API is responsible with the user auth, user account creation and challenge evaluation/retrieval.
The project uses OAuth 2.0 flow for the user authentication and
MongoDB for data storing.
P1 is determined by comparing the ASTs(short for Abstract Syntax Trees) generated by your solution and my solution using the following distance algorithms The Levenshtein distance, Longest Common Subsequence(LCS), Metric Longest Common Subsequence(MLCS) and Cosine similarity.
The major frameworks that I used:
You will need npm and nodejs. You can get them from here.
After installing npm and node you may run
npm install npm@latest -g
to get the latest version of npm
-
Clone the repo
git clone https://github.com/Andrei123f/RELI-back-end.git
-
Install NPM packages
npm install
-
Create a .env file and place the following value there
ATLAS_URI=mongo_db_url PASSWORD_SALT_ROUNDS=10 ACCESS_TOKEN_SECRET=access_token_secret REFERESH_TOKEN_SECERET=refresh_token_secret ACCESS_TOKEN_EXP_H=1h REFRESH_TOKEN_EXP_M=29d
mongo_db_url is your mongo db connection string
access_token_secret is your access token secret (please read the JWT documentation and OAuth 2.0 documentation)
refresh_token_secret is your refresh token secret (please read the JWT documentation and OAuth 2.0 documentation) -
Run the following command to start the project
npm run devStart
Anyone who wants to learn the basics of JavaScript, including Variables, Functions, Arrays and Objects, Classes, Object-oriented programming(OOP) can learn the fundamentals of these concepts in a unique and interesting way by translating a story to code.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Andrei Popa - @andreispkpd - andrei.popabd@gmail.com
Project Link: https://github.com/Andrei123f/RELI-back-end