Learning management system that tracks students that complete courses stored on a course database.
Generated Prompt
```markdown
# Replit Prompt for Learning Management System
## PROJECT DEFINITION
Build a Learning Management System (LMS) that tracks student progress through courses stored in a course database. The system will feature three different access rights: 'Site Owner' with full control, 'Facilitators' who manage courses and students but do not edit site code, and 'Students' who can view their learning history and register for courses. The LMS should be designed with a minimalist aesthetic, focusing on usability and a clean interface.
## DESIGN REQUIREMENTS
- **Visual Style:** minimalist - Clean, simple design with plenty of white space, minimal color palette, and focus on typography
- **Color Mode:** Light theme with dark text on light backgrounds
- **Primary Color:** #1978E5 (accent for buttons, links, highlights)
- **Typography:** Use Inter from Google Fonts for headings, Inter for body text and UI elements
- **Border Radius:** 8px (moderately rounded) for buttons, cards, and inputs
## TECH STACK & CONSTRAINTS
- **Language:** JavaScript
- **Framework:** Node.js with Express for the backend and React for the frontend
- **Database:** MongoDB for storing course and user data
- **Authentication:** Use JSON Web Tokens (JWT) for user authentication
- **Deployment:** Ensure the application is deployable on Replit
## BREAKDOWN INTO TASKS
1. **Set up the project structure**:
- Initialize a Node.js project
- Create folders for routes, models, controllers, and frontend components
2. **Implement user authentication**:
- Set up JWT authentication for different user roles
- Create login and registration endpoints
3. **Develop the database schema**:
- Create models for Users (Site Owner, Facilitators, Students) and Courses
- Implement courses CRUD functionality
4. **Build the frontend**:
- Create React components for the dashboard, course listings, user profiles, etc.
- Implement routing for different user roles
5. **Design the UI**:
- Use the specified typography and color scheme to style components
- Ensure responsive design for various devices
6. **Testing and validation**:
- Write unit tests for backend logic
- Perform user acceptance testing for frontend components
## IMPLEMENTATION GUIDANCE
1. **Set Up Project Structure**:
```bash
mkdir lms-project
cd lms-project
npm init -y
npm install express mongoose jsonwebtoken bcryptjs cors dotenv
```
2. **User Authentication**:
- Create routes for registration and login that handle JWT issuance.
- Example code for user registration:
```javascript
app.post('/register', async (req, res) => {
// Logic for registering a user
});
```
3. **Database Schema**:
- Example model for Users:
```javascript
const userSchema = new mongoose.Schema({
username: String,
password: String,
role: { type: String, enum: ['Site Owner', 'Facilitator', 'Student'] }
});
```
4. **Frontend Development**:
- Use React Router for managing routes based on user roles.
- Example of a component:
```javascript
const CourseList = () => {
// Logic to fetch and display courses
};
```
5. **Styling**:
- Implement styles using CSS-in-JS or a CSS framework that supports your design requirements.
## ITERATION STRATEGY
- After completing each major task, review and test the functionality before moving to the next task.
- Gather feedback on the user interface and make adjustments based on usability testing.
## TESTING & VALIDATION
- Use tools like Postman to test API endpoints.
- Conduct tests for different user roles to ensure access rights are functioning correctly.
- Validate that the UI is responsive and visually aligned with the design specifications.
```
This prompt provides a structured approach to developing the Learning Management System on Replit while ensuring clear instructions and adherence to the specified design requirements.Loved by thousands of makers from
From early prototypes to real products, they started here.







































Generate optimized prompts for your vibe coding projects
Generate prompt
Enter a brief description of the app you want to build and get an optimized prompt
Review and use your prompt
Review (and edit if necessary) the generated prompt, then copy it or open it directly in your chosen platform
Get inspired with new ideas
Get AI-generated suggestions to expand your product with features that will surprise your users
Frequently Asked Questions
Everything you need to know about creating better prompts for your Lovable projects
Still have questions?
Can't find what you're looking for? We're here to help!
