Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ripunjay42/remote-code-execution
https://github.com/ripunjay42/remote-code-execution
firebase-auth firestore gemini-api judge0 nextjs14 tailwind
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ripunjay42/remote-code-execution
- Owner: Ripunjay42
- Created: 2024-09-16T19:34:44.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-28T19:15:01.000Z (4 months ago)
- Last Synced: 2024-09-30T09:41:52.659Z (4 months ago)
- Topics: firebase-auth, firestore, gemini-api, judge0, nextjs14, tailwind
- Language: JavaScript
- Homepage: https://daily-code-pi.vercel.app
- Size: 1.65 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Remote Code Execution
# DEMO
https://daily-code-pi.vercel.app## Overview
Remote Code Execution is a full-stack web application developed using Next.js, Firebase, and the Judge0 API. It allows users to write and practice code in different programming languages while solving various coding problems. The application requires user authentication to submit solutions, and it stores the status of each problem in Firestore for easy tracking.## Features
- Code Writing and Execution: Write and execute code in multiple programming languages.
- Problem Solving: Access a variety of coding problems and submit solutions.
- Test Case Checking: Automatically check submitted solutions against predefined test cases.
- User Status Tracking: Store and retrieve the status of solved problems in Firestore based on user authentication.
- Secure Authentication: Use Firebase Authentication for a secure login and registration process.
- Error Handling: Display meaningful error messages for coding mistakes or execution issues.
- Complexity Analysis: Analyze and display approximate time and space complexity for submitted solutions to help users understand the efficiency of their code using Gemini API.## Technologies Used
- Frontend: Next.js, Tailwind CSS
- Authentication: Firebase
- Code Execution: Judge0 API for executing code in a secure environment
- Database: Firestore for storing user data and problem-solving status
- Complexity: Gemini API for analyze time and space complexity## Getting Started
### Prerequisites
- Node.js installed on your local machine
- Firebase project set up for authentication and Firestore
- Access to Judge0 API (public API or self-hosted)### Installation
1. Clone the repository:
```bash
git clone https://github.com/Ripunjay42/remote-code-execution.git2. Navigate to the project directory(client):
```bash
cd remote-code-execution
```3. Install dependencies:
```bash
npm install
```## Set up environment variables:
### Create a .env.local file in the root directory and add your Firebase configuration details and Judge0 API URL:
- NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
- NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
- NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
- NEXT_PUBLIC_JUDGE0_API_URL=https://api.judge0.com
- NEXT_PUBLIC_JUDGE0_API_KEY=your_api_key
- NEXT_PUBLIC_GEMINI_API_KEY=your_api_key## Usage
1. Start the development server:
```bash
npm run dev
```2. Open your browser and navigate to `http://localhost:3000` to access the application.
-Sign up or log in using your Firebase account to start solving problems and executing code!