This educational platform is designed for high school students who want to learn programming. The application provides a complete environment for teachers, students, and administrators, facilitating the teaching and learning of programming through problem-solving, homework management, and collaboration within classes.
- Solving programming problems
- Viewing and submitting homework
- Participating in classes
- Tracking personal progress
- Creating and managing classes
- Adding problems and verifying solutions
- Assigning homework to students
- Evaluating solutions and providing feedback
- Managing users and their roles
- Monitoring platform activity
- Verifying problems before publication
- Importing and exporting problems in CSV format
- Frontend: HTML, CSS, JavaScript
- Backend: Node.js
- Database: SQLite3
- Libraries: csv-parser, csv-parse, formidable, ejs
├── controllers/ # Business logic for entities
├── css/ # CSS styles for the interface
├── javascript/ # Frontend scripts
├── pages/ # HTML pages
├── utils/ # Utilities and helper functions
├── C4/ # Architecture diagrams
├── index.js # Application entry point
└── server.db # SQLite database
- Node.js (v12.x or later)
- npm
-
Clone the repository:
git clone https://github.com/yourusername/Proiect-Tehnologii-Web.git cd Proiect-Tehnologii-Web -
Install dependencies:
npm install
-
Start the server:
npm start
-
Access the application in your browser:
http://localhost:3000
The application supports three types of users:
- Administrator: Manages users and content
- Teacher: Creates classes, adds problems and homework
- Student: Solves problems and submits homework