E-LEARN is a comprehensive web application designed for educational institutions, providing seamless management of learning resources, student information, and administrative tasks.
- Overview
- Prerequisites
- Installation
- Folder Structure
- Key Dependencies
- Configuration
- Running the Application
- Contributing
E-LEARN simplifies the creation and management of learning resources, student profiles, and administrative tasks within educational institutions. This platform streamlines processes, fosters collaboration, and establishes a centralized hub for educators and administrators.
Ensure that Node.js and npm are installed on your machine before proceeding.
Clone the repository and install the required dependencies.
git clone https://github.com/enshikuku/e-learning-for-institutions
cd e-learning
npm install
The project follows a well-defined folder structure:
- /public # Static assets (stylesheets, images, etc.)
- /views # View templates
This project relies on essential dependencies, each serving a specific purpose. Install them using the following commands:
-
Express: A fast, unopinionated, minimalist web framework for Node.js.
npm install express
-
MySQL: A popular relational database management system.
npm install mysql
-
Express Session: A session middleware for Express to manage session data.
npm install express-session
-
Bcrypt: A library for hashing and salting passwords.
npm install bcrypt
-
Multer: Middleware for handling
multipart/form-data
, primarily used for file uploads.npm install multer
-
File System (fs): The Node.js built-in module for interacting with the file system.
-
Dotenv: A zero-dependency module that loads environment variables from a .env file into
process.env
.npm install dotenv
Ensure proper configuration by following the instructions provided in the Configuration section.
Adjust application settings and environment variables as needed.
The following section outlines the database configuration for the E-LEARN Web Application. These SQL statements define the database structure, including tables and relationships. Refer to the guide in the Database Creation markdown for SQL queries and additional information.
Launch the application locally by running:
npm start
Visit http://localhost:3049
in your browser to access the application.
We welcome contributions to enhance and improve the project! To contribute, please follow these guidelines:
If you encounter a bug or have a feature request, please open an issue on the GitHub issue tracker. Before creating a new issue, check if a similar one already exists. When reporting a bug, provide a detailed description and steps to reproduce it.
We encourage you to submit pull requests for bug fixes, improvements, or new features. To do so:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
. - Implement your changes and test thoroughly.
- Commit your changes:
git commit -m "Clear description of changes"
. - Push your branch to your fork:
git push origin feature-name
. - Open a pull request on the GitHub repository with a clear title and description of your changes.
Adhere to the coding standards used in the project, including indentation, formatting, and meaningful variable/function names.
Thank you for contributing!