This project is a tool designed to upload Python, Java or Javascript projects to AWS's Codeguru Reviewer Service and provide Security and Code Quality recommendations for the user. This repository contains the backend server for the project that connects to Codeguru Reviewer and MonogoDB.
NOTE: This server can only run on a Linux file-system.
Tech Stack : Node.js
Express.js
MongoDB
AWS-CodeGuru
AWS-S3
Frontend Repository linkhere.
- The server accepts files from the frontend, zips and stores the zipped file in
AWS S3
repositories. - Meanwhile, it also inserts the corresponding records in the
user
andproject
collections of the database. - Next, Code Review is initiated and the recommendations are fetched, and these details are inserted in the database.
- The frontend acceses all relevent details from the database via routes in the backend server that handle them.
Codeguru
is an AWS service that leverages program analysis and machine learning to identify potential defects and to recommend best practices.
Improve the maintainability and security of your Java and Python codebase with AWS CodeGuru Reviewer.
This project uses the AWS Javascript SDK v3(Typescript)
to access Codeguru and other AWS services.
For more details, visit the AWS Codeguru Reviewer Documentation
Amazon S3
Amazon Simple Storage Service is a service offered by Amazon Web Services that provides object storage through a web service interface. The S3 repository serves as the provider from which the Codeguru Reviewer accesses the source code.
For more details, visit the AWS S3 Documentation)
- Operating System : Linux / MacOS
- Node Installation
- AWS Account
- MongoDB Account Use Atlas (cloud service) or Compass (local machine)
- Clone this repository into your local Linux environment.
- Configure the
.env
file with the required values such as your AWS credentials. - cd to the destination folder
- Install dependencies:
npm install
- Run the development server:
# Should run in on PORT 5000 by default
npx esrun src/index.ts
Open the localhost port configured by you in your browser to see the server running. By default it should be
http://localhost:5000/
- Amruta Varshini : Front-end Developer
- Dhaksana R : Front-end Developer
- Ritesh Koushik : Full-Stack Developer
- Sudharsan Vanamali : Back-end Developer
- Senthil Adithya V : Back-end Developer