{"id":20737633,"url":"https://github.com/michalspano/semanager","last_synced_at":"2026-05-09T06:33:55.029Z","repository":{"id":204869454,"uuid":"711301081","full_name":"michalspano/SEManager","owner":"michalspano","description":"📚 Comprehensive Visualization Tool – Empowering Your Academic Journey in Software Engineering","archived":false,"fork":false,"pushed_at":"2023-11-12T17:14:14.000Z","size":14700,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-08T13:51:59.346Z","etag":null,"topics":["bootstrap","client-server","javascript","vuejs","website"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michalspano.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-28T20:19:24.000Z","updated_at":"2025-05-24T04:17:07.000Z","dependencies_parsed_at":"2023-11-12T18:34:28.799Z","dependency_job_id":null,"html_url":"https://github.com/michalspano/SEManager","commit_stats":null,"previous_names":["michalspano/semanager"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/michalspano/SEManager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalspano%2FSEManager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalspano%2FSEManager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalspano%2FSEManager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalspano%2FSEManager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michalspano","download_url":"https://codeload.github.com/michalspano/SEManager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michalspano%2FSEManager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32809711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["bootstrap","client-server","javascript","vuejs","website"],"created_at":"2024-11-17T06:15:05.645Z","updated_at":"2026-05-09T06:33:54.996Z","avatar_url":"https://github.com/michalspano.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## SEManager - Empowering Your Academic Journey\n\n[![Express.js, Postman backend - SEManager](https://github.com/michalspano/SEManager/actions/workflows/server.yml/badge.svg)](https://github.com/michalspano/SEManager/actions/workflows/server.yml)\n\nThis project is adapted from the [Backend-Frontend](https://git.chalmers.se/courses/dit342/group-00-web) template and migrated to a\nlater later version of `Vue.js` and `Bootstrap 5`. Hence, some of\nthe documentation is outdated and will be updated if desired by the examiners.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eOld Documentation\u003c/b\u003e\u003c/summary\u003e\n\n## Project Structure\n\n| File                                                 | Purpose                           | What you do?                              |\n| ---------------------------------------------------- | --------------------------------- | ----------------------------------------- |\n| `server/`                                            | Backend server code               | All your server code                      |\n| [server/README.md](server/README.md)                 | Everything about the server       | **READ ME** carefully!                    |\n| `client/`                                            | Frontend client code              | All your client code                      |\n| [client/README.md](client/README.md)                 | Everything about the client       | **READ ME** carefully!                    |\n| [~~docs/DEPLOYMENT.md~~](docs/DEPLOYMENT.md)             | Deprecated | The remote deployment was **removed** from the scope | \n| [docs/LOCAL_DEPLOYMENT.md](docs/LOCAL_DEPLOYMENT.md) | Local production deployment       | Deploy your app local in production mode  |\n\n## Requirements\n\nThe version numbers in brackets indicate the tested versions but feel free to use more recent versions.\nYou can also use alternative tools if you know how to configure them (e.g., Firefox instead of Chrome).\n\n* [Git](https://git-scm.com/) (v2) =\u003e [installation instructions](https://www.atlassian.com/git/tutorials/install-git)\n  * [Add your Git username and set your email](https://docs.gitlab.com/ce/gitlab-basics/start-using-git.html#add-your-git-username-and-set-your-email)\n    * `git config --global user.name \"YOUR_USERNAME\"` =\u003e check `git config --global user.name`\n    * `git config --global user.email \"email@example.com\"` =\u003e check `git config --global user.email`\n  * \u003e **Windows users**: We recommend to use the [Git Bash](https://www.atlassian.com/git/tutorials/git-bash) shell from your Git installation or the Bash shell from the [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10) to run all shell commands for this project.\n* [Chalmers GitLab](https://git.chalmers.se/) =\u003e Login with your **Chalmers CID** choosing \"Sign in with\" **Chalmers Login**. (contact [support@chalmers.se](mailto:support@chalmers.se) if you don't have one)\n  * DIT342 course group: https://git.chalmers.se/courses/dit342\n  * [Setup SSH key with Gitlab](https://docs.gitlab.com/ee/ssh/)\n    * Create an SSH key pair `ssh-keygen -t ed25519 -C \"email@example.com\"` (skip if you already have one)\n    * Add your public SSH key to your Gitlab profile under https://git.chalmers.se/profile/keys\n    * Make sure the email you use to commit is registered under https://git.chalmers.se/profile/emails\n  * Checkout the [Backend-Frontend](https://git.chalmers.se/courses/dit342/group-00-web) template `git clone git@git.chalmers.se:courses/dit342/group-00-web.git`\n* [Server Requirements](./server/README.md#Requirements)\n* [Client Requirements](./client/README.md#Requirements)\n\n## Getting started\n\n```bash\n# Clone repository\ngit clone git@git.chalmers.se:courses/dit342/2023/group-15-web.git\n\n# Change into the directory\ncd group-15-web\n\n# Setup backend\ncd server \u0026\u0026 npm install\nnpm run dev\n\n# Setup frontend\ncd client \u0026\u0026 npm install\nnpm run serve\n```\n\n## Visual Studio Code (VSCode) Support\n\nOpen the `server` and `client` in separate VSCode workspaces or open the combined [backend-frontend.code-workspace](./backend-frontend.code-workspace). Otherwise, workspace-specific settings don't work properly.\n\n\u003c/details\u003e\n\n## System Definition (MS0)\n\nThe following describes the project's system definition.\n\n### Purpose\n\nOur project is focused on improving the experience of the `SEM` (Software Engineering and Management) students by providing a tool\nthat allows them to easily **visualize** the programme's structure.\nThis would allow the students to **plan** their studies, **track** their progress, and understand the **pre-requisites** of each course.\nFurthermore, the user is also be able to interact with the course curriculum to **personalize their study plan**.\nFor instance, in the event that the student wants to take a study break, failed a course, is doing an exchange year, etc.\n\n### Pages\n\nThe following section contains the description of the pages that will be implemented in the project.\n\n#### Login screen\n\nThis page will be the first page that the user will see when accessing the website.\nThere's two possible scenarios: (i) guest user, and (ii) registered user (i.e., student or an administrator). For now, the focus will be on the former; the guest user cannot access the main dashboard (home) without logging in (to prevent share of personal information).\n\n#### Main Dashboard (Home)\n\nThe **main dashboard** is a fundamental page of the website. It is essentially a much improved version of\nthe current **static** picture with the structure of the programme. The user will be able to interact with the\ncourses to highlight a **study path** and create a personalized *\"study journey\"*.\n\nAt each point in time, the user is unable to uncheck a course that has been marked as completed and the path is automatically updated to reflect the change. Furthermore, the user can also add a course to their study plan by clicking on the course and selecting the desired study period.\n\n#### Course Page\n\nWhen the user clicks on a course, the application will display all the relevant **course information** such as the teaching staff and the pre-requisites. The user can navigate back to the dashboard or to another course that has a dependency on the current course.\n\n#### Employee Information (Pop-up)\n\nGiven a selected course, the user can click on the teaching staff to display their information. This will be displayed in a pop-up window centered on the screen. This pop-up contains additional information about the teacher. From there, the user can navigate back to the Main Dashboard or close the pop-up.\n\n#### Admin Page\n\nA restricted page that is only accessible to the administrators. This page allows the administrators to add, update, remove entities to the system (see the ER diagram below). For instance, the administrator can add a new course, update the course information, remove a course from the system, or create an employee and assign them to a course.\n\nThe Admin page contains a component that serves the role of a **manual** to help the administrator to use the page. This component contains a description of the page and a list of all the possible actions that the administrator can perform.\n\n#### `404` Page\n\nIn case the user tries to access a page that does not exist, the application will display a 404 page.\n\n### Entity-Relationship (ER) Diagram\n\n![ER Diagram](./docs/er_diagram.png)\n\n## Teaser (MS3)\n\n![Teaser](./docs/teaser.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichalspano%2Fsemanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichalspano%2Fsemanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichalspano%2Fsemanager/lists"}