Skip to content

Rampravsh/lms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Learning Management System (LMS)

A comprehensive Learning Management System built with the MERN stack (MongoDB, Express, React, Node.js), featuring real-time communication, course management, and a responsive design embedded with PWA capabilities.

πŸš€ Features

  • User Authentication: Secure login and registration using JWT (JSON Web Tokens) and secure cookie storage.
  • Role-Based Access: Specialized views and capabilities for students and administrators.
  • Real-time Chat: Integrated socket.io for instant messaging between users.
  • Course Management: Create, update, and manage course content (implied).
  • Responsive Design: Fully responsive UI built with Tailwind CSS, optimized for mobile and desktop.
  • PWA Support: Installable as a native-like app on mobile devices.
  • Dark/Light Mode: User-preference persistence for theme selection.
  • Interactive Dashboard: Analytics and visualization using Recharts.

πŸ› οΈ Tech Stack

Frontend

Backend

πŸ“‚ Project Structure

lms/
β”œβ”€β”€ backend/         # Node.js/Express API server
β”‚   β”œβ”€β”€ config/      # Database and other configurations
β”‚   β”œβ”€β”€ controllers/ # Request handlers
β”‚   β”œβ”€β”€ models/      # Mongoose schemas
β”‚   β”œβ”€β”€ routes/      # API route definitions
β”‚   β”œβ”€β”€ utils/       # Utility functions
β”‚   └── index.js     # Entry point
β”œβ”€β”€ frontend/        # React application
β”‚   β”œβ”€β”€ public/      # Static assets
β”‚   β”œβ”€β”€ src/         # Source code
β”‚   β”‚   β”œβ”€β”€ components/ # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ pages/      # Application views
β”‚   β”‚   β”œβ”€β”€ redux/      # State slices and store
β”‚   β”‚   └── App.jsx     # Main component
β”‚   └── vite.config.js
└── README.md        # Project documentation

⚑ Installation & Setup

Prerequisites

  • Node.js (v18+ recommended)
  • MongoDB (Local or Atlas)

1. Clone the Repository

git clone https://github.com/Rampravsh/lms.git
cd lms

2. Backend Setup

Navigate to the backend directory and install dependencies:

cd backend
npm install

Create a .env file in the backend directory with the following variables:

PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
NODE_ENV=development
# Add other necessary variables (e.g., mailer config) here

Start the backend server:

npm start

3. Frontend Setup

Open a new terminal, navigate to the frontend directory, and install dependencies:

cd frontend
npm install

Start the development server:

npm run dev

The application should now be running at http://localhost:5173 (or the port specified by Vite).

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages