Skip to content

Latest commit

ย 

History

History
192 lines (181 loc) ยท 6.91 KB

File metadata and controls

192 lines (181 loc) ยท 6.91 KB

๐Ÿ“š Examify Setup Guide

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.


๐Ÿ“‹ Prerequisites

  • 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.

๐Ÿš€ Installation Steps

  1. Clone the Repository:
    git clone https://github.com/himanshsharmaa/Examify.git
    cd Examify
  2. Install Dependencies:
    composer install
  3. Configure the Database:
    • Create a new MySQL database.
    • Import the seed.sql file located in the database/ directory to set up the initial database structure and data.
    • Update the database configuration in config/db_config.php with your database credentials.
  4. Set Up Environment Variables:
    • Rename the env.php.example file in the config/ directory to env.php.
    • Update the environment variables in env.php with your configuration settings.
  5. 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/.

๐Ÿ“‚ Project Structure

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

๐Ÿ“ File Descriptions

  • 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.

๐Ÿ”ฎ Future Enhancements

  • 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.

๐Ÿค Contributing

Contributions are welcome! Please open an issue or submit a pull request.

๐Ÿ“ฌ Contact

Feel free to reach out via Email.