OpenStax is a comprehensive Learning Management System (LMS) designed for educators, students, and administrators. It provides a platform for managing resources, permissions, reviews, and more in a secure and user-friendly manner.
- Admin Panel: Manage users, resources, permissions, and view dashboard insights.
- User Panel: Upload and manage resources, view approved materials, and interact with the LMS.
- Review System: Submit and view reviews after logging in as a user.
- Secure Authentication: Separate login for Admins and Users with role-based access.
- Resource Management: Supports file uploads (audio, video, notes, and YouTube links).
- Permissions Workflow: Admins grant or deny permissions for user-uploaded resources.
- Responsive Design: Built with Tailwind CSS for a modern and user-friendly interface.
OpenStax/
βββ assets/ # Contains static resources like images, stylesheets, and scripts
β βββ css/
β β βββ style.css # Main stylesheet for the website's design and layout
β βββ images/
β β βββ logo.png # Logo displayed on the website
β β βββ banner.jpg # Banner image used on various pages
β βββ js/
β βββ script.js # JavaScript file for client-side interactions
βββ pages/ # Contains additional web pages
β βββ contact.php # Contact form for users to reach out
β βββ faq.php # Frequently Asked Questions page
β βββ privacy.php # Privacy policy detailing data handling practices
β βββ terms.php # Terms and conditions for website usage
βββ uploads/ # Directory for storing user-uploaded files
β βββ user1/
β β βββ document.pdf # Example document uploaded by User 1
β βββ user2/
β βββ image.png # Example image uploaded by User 2
βββ README.md # Overview and documentation of the project
βββ aboutus.php # Page providing information about the organization or project
βββ db.php # Script managing database connections
βββ index.html # Static homepage of the website
βββ index.php # Dynamic homepage with server-side processing
βββ login.html # User login page for authentication
βββ reviews.php # Page displaying user reviews
βββ reviews_login.php # Login page specific to the reviews section
βββ reviews_signup.php # Signup page for users to register and post reviews
βββ services.php # Page outlining the services offered
βββ signup.html # User registration page
βββ test-db.php # Script for testing database connectivity and queries
register
|-- id (PK)
|-- first_name
|-- last_name
|-- email (Unique)
|-- password
|-- role ('user' or 'admin')
|-- created_at
|
| One-to-Many
|
v
notes
|-- id (PK)
|-- user_id (FK -> register.id)
|-- filename
|-- filepath
|-- uploaded_at
register
|
| One-to-Many
|
v
videos
|-- id (PK)
|-- user_id (FK -> register.id)
|-- title
|-- file_path
|-- uploaded_at
register
|
| One-to-Many
|
v
review
|-- id (PK)
|-- user_id (FK -> register.id)
|-- full_name
|-- comment
|-- created_at
register
|
| One-to-Many
|
v
permissions
|-- id (PK)
|-- user_id (FK -> register.id)
|-- resource_id
|-- resource_type ('note', 'video')
|-- status ('pending', 'approved', 'denied')
|-- requested_at
|-- updated_at
- Install Required Software Download and install XAMPP or any web server with PHP and MySQL support.
- Import the Database Open phpMyAdmin. Create a new database named openstax. Import the openstax.sql file from the /db directory.
- Configure Database Connection Open db.php in the /db directory. Update the database credentials if necessary: php Copy code $host = 'localhost'; $username = 'root'; // Update if different $password = ''; // Update if different $database = 'openstax';
- Start the Project Place the OpenStax folder in the htdocs directory (e.g., C:\xampp\htdocs\OpenStax). Start the Apache and MySQL services in XAMPP. Open your browser and navigate to: bash Copy code http://localhost/OpenStax/index.php Usage Instructions
- Admin Functionality Admin Login: /pages/admin_login.php Features: Manage users (add, edit, delete). Manage uploaded resources and permissions. View user statistics and dashboard insights.
- User Functionality User Login: /pages/user_login.php Features: Upload and manage resources (notes, videos, audios, YouTube links). View approved resources. Submit and view reviews.
- Reviews Login: /pages/reviews_login.php Signup: /pages/reviews_signup.php Features: Submit reviews for the platform. View reviews submitted by other users. Support and Contributions If you encounter any issues or would like to contribute to this project, feel free to create an issue or a pull request on GitHub.