This guide will help you set up the Examify project on your local machine. Follow the steps below to get started with this online examination and classroom management system.
- PHP: Ensure you have PHP installed on your machine. You can download it from here.
- Composer: A dependency manager for PHP. You can download it from here.
- MySQL: A relational database management system. You can download it from here.
- Web Server: XAMPP or WAMP for running the project locally. You can download XAMPP from here or WAMP from here.
- Git: A version control system. You can download it from here.
- Clone the Repository:
git clone https://github.com/himanshsharmaa/Examify.git cd Examify - Install Dependencies:
composer install - Configure the Database:
- Create a new MySQL database.
- Import the
seed.sqlfile located in thedatabase/directory to set up the initial database structure and data. - Update the database configuration in
config/db_config.phpwith your database credentials.
- Set Up Environment Variables:
- Rename the
env.php.examplefile in theconfig/directory toenv.php. - Update the environment variables in
env.phpwith your configuration settings.
- Rename the
- Run the Project:
- Start your web server (e.g., XAMPP, WAMP).
- Place the project directory (Examify) in the web server's root directory (e.g.,
C:\xampp\htdocs\for XAMPP). - Access the project in your web browser at
http://localhost/Examify/.
Examify/
โ .htaccess
โ
โโโโassets
โ โโโโcss
โ โโโโfonts
โ โ Roboto-Bold.tff
โ โ Roboto-Regular.tff
โ โ
โ โโโโimg
โ โ โ home.png
โ โ โ
โ โ โโโโbanners
โ โ โโโโicons
โ โ settings_icon.png
โ โ user_icon.png
โ โ
โ โโโโjs
โ
โโโโconfig
โ constants.php
โ cors.php
โ env.php
โ functions.php
โ routes.php
โ
โโโโdatabase
โ db_config.php
โ migrate.php
โ seed.sql
โ
โโโโdocs
โ API.md
โ DB_STRUCTURE.md
โ LICENSE
โ README.md
โ SETUP.md
โ
โโโโlogs
โ access.log
โ error.log
โ websocket.log
โ
โโโโpublic
โ โ 404.php
โ โ class.php
โ โ create_class.php
โ โ index.php
โ โ join_class.php
โ โ login.php
โ โ manage_class.php
โ โ manage_test.php
โ โ result.php
โ โ select_role.php
โ โ signup.php
โ โ student_dashboard.php
โ โ student_profile.php
โ โ take_test.php
โ โ teacher_dashboard.php
โ โ teacher_profile.php
โ โ test.php
โ โ view_test_history.php
โ โ
โ โโโโincludes
โ footer.php
โ header.php
โ
โโโโsrc
โ โ api.php
โ โ ws_server.php
โ โ
โ โโโโcontrollers
โ auth.php
โ create_class.php
โ create_test.php
โ dashboard.php
โ get_results.php
โ join_class.php
โ login.php
โ logout.php
โ manage_class.php
โ profile.php
โ realtime_updates.php
โ register.php
โ submit_test.php
โ
โโโโtests
โ auth_test.php
โ class_test.php
โ realtime_test.php
โ test_submission_test.php
โ utils_test.php
โ
โโโโuploads
โโโโprofile_pics
โ student1.jpg
โ student2.jpg
โ teacher1.jpg
โ
โโโโreports
โ report1.pdf
โ report2.pdf
โ report3.pdf
โ
โโโโtest_files
answer_key.txt
test1.pdf
test2.docx
assets/: Contains CSS, fonts, images, and JavaScript files.config/: Configuration files for constants, CORS, environment variables, functions, and routes.database/: Database configuration, migration, and seed files.docs/: Documentation files including API, database structure, license, and setup instructions.logs/: Log files for access, errors, and websocket activities.public/: Publicly accessible files including PHP scripts for various functionalities and includes for header and footer.src/: Source files including API, websocket server, and controllers for various functionalities.tests/: Test files for authentication, class management, real-time updates, test submission, and utility functions.uploads/: Uploaded files including profile pictures, reports, and test files.
- Real-time Notifications: Implement real-time notifications for exam updates and results.
- Advanced Analytics: Provide detailed analytics and reports for teachers and administrators.
- Mobile App: Develop a mobile application for easier access and management.
- Multi-language Support: Add support for multiple languages to cater to a diverse user base.
- Integration with LMS: Integrate with popular Learning Management Systems (LMS) for seamless data exchange.
Contributions are welcome! Please open an issue or submit a pull request.
Feel free to reach out via Email.