{"id":15091630,"url":"https://github.com/meesakveld/student-tracking-system","last_synced_at":"2026-01-20T06:32:24.992Z","repository":{"id":244436453,"uuid":"811848293","full_name":"meesakveld/student-tracking-system","owner":"meesakveld","description":"This web application is designed to monitor students throughout their education, including lectures, practical sessions, coaching, and workplace learning | Mees Akveld","archived":false,"fork":false,"pushed_at":"2024-06-12T15:39:22.000Z","size":1874,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T05:44:49.886Z","etag":null,"topics":["bcrypt","cookie-parser","expressjs","handlebars","jsonwebtoken","knexjs","nodemon","objection","pdfkit","pdfkit-table","postgresql","sqlite3"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meesakveld.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-07T12:30:08.000Z","updated_at":"2025-01-15T16:44:05.000Z","dependencies_parsed_at":"2024-06-14T18:22:13.870Z","dependency_job_id":"55b6d4c7-31af-4a49-89c6-6ff295c284d3","html_url":"https://github.com/meesakveld/student-tracking-system","commit_stats":null,"previous_names":["meesakveld/student-tracking-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/meesakveld/student-tracking-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meesakveld%2Fstudent-tracking-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meesakveld%2Fstudent-tracking-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meesakveld%2Fstudent-tracking-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meesakveld%2Fstudent-tracking-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meesakveld","download_url":"https://codeload.github.com/meesakveld/student-tracking-system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meesakveld%2Fstudent-tracking-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28597634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bcrypt","cookie-parser","expressjs","handlebars","jsonwebtoken","knexjs","nodemon","objection","pdfkit","pdfkit-table","postgresql","sqlite3"],"created_at":"2024-09-25T10:42:15.009Z","updated_at":"2026-01-20T06:32:24.977Z","avatar_url":"https://github.com/meesakveld.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Banner](/.github/banner.png)\n\n## Project README\n\n### Table of Contents\n- [General Information](#general-information)\n- [Description](#description)\n- [Architecture](#architecture)\n- [Features](#features)\n- [Installation](#installation)\n- [Contributors](#contributors)\n\n---\n\n### General Information\nThis web application is designed to monitor students throughout their education, including lectures, practical sessions, coaching, and workplace learning. The goal is to enable teachers, learning coaches, program coaches, diversity coaches, and team leaders to carry out this monitoring effectively.\n\n### Description\nStudent monitoring includes, among other things:\n- Recording attendance during lectures and practical sessions\n- Evaluating participation during classes\n- Assessing performance on exercises/assignments\n- Documenting information from coaching conversations\n- Recording information entered by teachers\n- Tracking the status of students in the program, such as illness, inactivity, etc.\n\nStudents can also engage in workplace learning during their education across various subjects from @Work 1 to @Work 5.\n\n### Architecture\n- **Back-end:**\n  - Express.js\n  - Templating: Handlebars\n  - Database: Production: PostgreSQL | Development: sqlite3\n  - Database management: Knex + Objection\n  - PDF Generation: PDFKit + PDFKit-Table\n\n- **Front-end:**\n  - HTML → Handlebars\n  - CSS\n  - JavaScript (modular)\n\n### Features\n- Common models for the educational program, program components, and courses.\n- Different user roles such as Administrator, Teacher, Student, Program Coach, etc.\n- Functionalities for coaching, labeling students, and status management.\n- Capability to enter and view attendances/absences.\n- Monitoring during lectures and practical sessions with comments per student.\n- PDF generation for attendances/statuses/reports per student.\n\n---\n\n### Installation\n\n1. Clone the repository\n    ```bash\n    git clone {{repository_url}}\n    ```\n\n2. Install the dependencies\n    ```bash\n    npm install\n    ```\n\n3. Create a `.env` file in the root directory and add the following environment variables:\n    ```bash\n    PORT=3000\n    NODE_ENV=development # or production if you're deploying.\n    \n    # Database configuration for production\n    DB_HOST=your_db_host\n    DB_PORT=your_db_port\n    DB_USER=your_db_user\n    DB_NAME=your_db_name\n    DB_PASSWORD=your_db_password\n    DB_SSL=your_db_ssl\n\n    # Database configuration for development\n    DB_DEV_NAME=your_dev_db_name.sqlite3\n\n    # TOKEN_SALT for JWT\n    TOKEN_SALT=your_token_salt\n\n    # NODEMAILER configuration\n    MAIL_USER=your_email\n    MAIL_PASS=your_email_password\n\n    ```\n\n4. Run the migrations\n    ```bash\n    npx knex migrate:latest\n    ```\n\n5. Run the seeders\n    ```bash\n    npx knex seed:run\n    ```\n\n6. Start the server\n    ```bash\n    npm start\n    ```\n\n7. Open your browser and navigate to `http://localhost:3000`\n\n8. Login with the following credentials:\n    - **admin / teamleader / teacher / trajectorycoach / learningcoach / diversitycoach / workplacecoach:** \n        - Email: {{function}}@svs.be\n        - Password: secret123\n\n    - **student**\n        - Email: student@student.svs.be\n        - Password: secret123\n\n\n---\n\n### Contributors\n\n- [Mees Akveld](https://github.com/pgm-meesakveld)\n- [Bénoît Biraguma Ihimbazwe](https://github.com/pgm-benobira)\n- [Tristan De Ridder](https://github.com/pgm-tristanderidder)\n- [Ella Jakale](https://github.com/pgm-ella)\n\n---\n\n\n*© 2024 - This project is developed by Artevelde University of Applied Sciences.*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeesakveld%2Fstudent-tracking-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeesakveld%2Fstudent-tracking-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeesakveld%2Fstudent-tracking-system/lists"}