SCRYPTN is an online compiler and assignment submission system designed to streamline the process of code compilation and assignment submission. It leverages the power of Judge0 as the backend compiler, and utilizes PHP and MySQL for other functionalities. With SCRYPTN, users can interact with three panels: student, teacher, and admin. Currently, it supports five programming languages: C, C++, Java, Python, and PHP.
- Online Compiler: SCRYPTN provides an online compiler powered by Judge0, allowing users to compile and run their code in real-time.
- Assignment Submission: Students can easily submit their assignments through the system, providing a convenient and centralized submission process.
- Multiple Language Support: SCRYPTN currently supports five programming languages: C, C++, Java, Python, and PHP, allowing users to write and compile code in their preferred language.
- Student Panel: Students can access the system through the student panel, where they can submit assignments, view their submission history, and receive feedback from teachers.
- Teacher Panel: Teachers can manage assignments, review and grade student submissions, and provide feedback through the teacher panel.
- Admin Panel: The admin panel offers administrative functionalities, allowing administrators to manage users, assignments, and system settings.
- User Authentication: SCRYPTN implements a secure user authentication system to protect user data and ensure privacy.
- Database Management: The system uses PHP and MySQL for database management, storing user information, assignments, and submission history.
- Customizable: SCRYPTN is highly customizable, allowing administrators to configure various settings, such as supported languages and compiler options, to meet the specific needs of their institution.
To get started with SCRYPTN, follow the instructions below:
- PHP (>= 7.0)
- MySQL (>= 5.7)
- Judge0 API Key (Obtain your API key from Judge0)
-
Clone the SCRYPTN repository to your local machine:
git clone https://github.com/yourusername/scryptn.git -
Create a MySQL database for SCRYPTN.
-
Import the
database.sqlfile into your newly created database to set up the required tables. -
In the
configfolder, renameconfig-sample.phptoconfig.php. -
Open
config.phpand provide the necessary information:-
Set your Judge0 API key:
define('JUDGE0_API_KEY', 'your_judge0_api_key');
-
Configure your MySQL database credentials:
define('DB_HOST', 'your_database_host'); define('DB_NAME', 'your_database_name'); define('DB_USER', 'your_database_username'); define('DB_PASSWORD', 'your_database_password');
-
-
Ensure that the
uploadsdirectory has proper write permissions so that students can upload their assignment files. -
Start the development server or deploy the application to your desired web server.
-
Access SCRYPTN through the appropriate URL based on your deployment configuration.
Contributions to SCRYPTN are always welcome! If you'd like to contribute, please follow these steps:
-
Fork the repository.
-
Create a new branch:
git checkout -b my-new-feature -
Make your changes and commit them:
git commit -am 'Add some feature' -
Push the branch:
git push origin my-new-feature -
Submit a pull request detailing your changes.
SCRYPTN is released under the MIT License.
- Judge0: An open-source autograder and online code editor.
- PHP: A popular server-side scripting language.
- MySQL: An open-source relational database management system.
If you have any questions, suggestions, or feedback, please feel free to contact us:
- Email: support@scryptn.com
- Website: https://www.scryptn.com