suryanshsingh2001 / skillmastery

Skillmastery: Empower Learning with MERN and Bootstrap πŸŽ―πŸ“š Create, Manage, and Elevate Classrooms with Ease. Seamlessly Track Progress, Assign Homework, and Foster Interactive Discussions. Unleash the Power of Skillmastery for Comprehensive Online Learning! πŸ”₯πŸš€

Home Page:https://lms.night05fury.me/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🎯 Skillmastery

React Bootstrap NodeJS Express.js MongoDB Docker

Skillmastery is a feature-rich Learning Management System (LMS) developed using the MERN stack (MongoDB, Express.js, React.js, Node.js) and Bootstrap for the frontend. It empowers teachers to effortlessly create classrooms, share posts, assign homework with deadlines, monitor student progress, and download class scores in Excel format. It also provides a seamless experience for students to enroll, submit projects, and engage in interactive discussions.

## πŸ“Έ Screenshots

Home Page

Home Page

Login Page

Login Page

Register Page

Register Page

Classroom Page

Classroom Page

Teacher Pages

Teacher Page 1

Teacher Page 2

Teacher Page 3

Student Pages

Student Page 1

Student Page 2

✨ Features

  • Classroom Creation: Teachers can easily create classrooms to manage their students and instructional content.
  • Post Sharing: Teachers can share posts within classrooms to provide important updates, announcements, or learning resources.
  • Homework Assignment: Teachers can assign homework with specific deadlines for students to complete.
  • Student Progress Monitoring: Teachers can track student progress and performance within the LMS.
  • Class Score Download: Teachers can download class scores in Excel format for efficient analysis.
  • Seamless Enrollment: Students can seamlessly enroll in classrooms using access codes provided by teachers.
  • Project Submission: Students can submit their projects or assignments directly through the LMS.
  • Interactive Discussions: Students can engage in interactive discussions within the LMS, promoting collaboration and knowledge sharing.

βš™οΈ Tech Stack

The project utilizes the following technologies:

  • MongoDB: Database for storing LMS data.
  • Express.js: Web application framework for building the backend API.
  • React.js: JavaScript library for building the user interface.
  • Node.js: JavaScript runtime environment for server-side execution.
  • Bootstrap: CSS framework for responsive and mobile-first web development.

πŸš€ Getting Started

Installation

  1. Clone the repository: git clone [repository URL]
  2. Install dependencies: npm install

Usage

  1. Set up the environment variables. Rename the .env.example file to .env and provide the necessary values.
  2. Frontend:
REACT_APP_BASE_URL=<Your backend URL>
  1. Backend:
MONGO_DB_URL=<your database URL>
CLIENT_URL=<Your hosting domail URL>

# token

SECRET_ACCESS_TOKEN= <Whatever you choose>
ACCESS_TOKEN_EXPIRE= <Whatever you choose>
SECRET_REFRESH_TOKEN= <Whatever you choose>
REFRESH_TOKEN_EXPIRE= <Whatever you choose>
  1. Start the development server: npm start
  2. Open the application in your browser at http://localhost:3000

🐳 Dockerization

Frontend

  1. Navigate to the frontend directory of the project:
cd frontend
  1. Build the Docker image for the client:
docker build -t skillmastery-frontend .
  1. Run the Docker container for the client:
docker run -d -p 3000:3000 --name skillmastery-frontend skillmastery-frontend
  1. Access the client application in your browser at: http://localhost:3000

Backend

  1. Navigate to the backend directory of the project:
cd backend
  1. Build the Docker image for the server:
docker build -t killmastery-frontend .
  1. Run the Docker container for the server:
docker run -d -p 5000:5000 --name killmastery-frontend killmastery-frontend
  1. The server is now running and ready to accept requests.

πŸ™Œ Contributions

Contributions from the following individuals are already acknowledged:

  • Suryansh Singh GitHub
  • Mayank Kumar Patel GitHub
  • Kartikey Mishra GitHub

To contribute to SkillMastery, follow these steps:

  1. Fork the repository.
  2. Create a new branch: git checkout -b new-feature.
  3. Make your changes and commit them: git commit -am 'Add new feature'.
  4. Push the changes to your fork: git push origin new-feature.
  5. Submit a pull request.

πŸ“§ Contact

Reach out to us on
LinkedIn Email

About

Skillmastery: Empower Learning with MERN and Bootstrap πŸŽ―πŸ“š Create, Manage, and Elevate Classrooms with Ease. Seamlessly Track Progress, Assign Homework, and Foster Interactive Discussions. Unleash the Power of Skillmastery for Comprehensive Online Learning! πŸ”₯πŸš€

https://lms.night05fury.me/


Languages

Language:JavaScript 96.9%Language:HTML 1.9%Language:CSS 0.6%Language:Dockerfile 0.5%