Archived
1
0
Fork
You've already forked impresent
0
WebApp to manage student presence in the time of COVID
This repository has been archived on 2025年10月31日. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • C# 48.4%
  • TypeScript 40.1%
  • HTML 7.3%
  • JavaScript 1.9%
  • SCSS 1.7%
  • Other 0.6%
Find a file
2021年06月02日 12:23:40 +02:00
.github/workflows separate pipeline with only ci for PRs 2021年02月23日 22:19:44 +01:00
ImPresent.Tests implement unvolunteering 2021年05月30日 20:36:00 +02:00
ImPresent.Web Merge pull request #30 from Ombrelin/transverse/branding-and-readme 2021年06月01日 13:58:27 +02:00
screenshots add logo + readme 2021年05月30日 14:54:03 +02:00
.gitignore fixing wrong routes + adding tests 2021年02月19日 09:30:34 +01:00
impresent.sln finished implementation of promotion creation & auth 2021年02月18日 16:23:29 +01:00
impresent.sln.DotSettings.user implement unvolunteering 2021年05月30日 20:36:00 +02:00
LICENSE Create LICENSE 2021年06月02日 12:23:40 +02:00
README.md Update README.md 2021年06月01日 19:37:24 +02:00

ImPresent


Impresent is a Webapp to manage student presence during time of COVID, when schools can't afford to have everyone on site.

The app should be used by :

  • The class representative
  • The students

The workflow is the following

The class representative :

  1. Can create a class (promotion)
  2. Adds the students to his class (csv imports supported)
  3. Can create a day of presence for a target date
  4. Share the volunteering link to the class
  5. Waits for the students volunteer using the link
  6. Can add people that have not volunteered to reach the minimum of attendees, based on their last presence date
  7. Can export the final presence list for the day to send it to the school admin

Login Promotion

Future in developement :

  • Students can unvolunteer
  • Min and max attendees for a given day can be parametered for each day

🚧 Requirements

Optional :

For windows :

🛠️ Installation Steps

Clone the repo

git clone https://github.com/Ombrelin/impresent.git

Environnement variables

Configure those variables inside your terminal or your IDE.

Name Description Exemple Value
DATABASE_URL Connection string to the PostgresSQL database postgres://user:password@host:port/database
JWT_SECRET Secret used to sign JWT tokens 3myB8HRUokgD2uFejKyev4^4

Install web application dependencies

cd ImPresent.Web/ClientApp
npm install

Run the app

cd ..
dotnet run

The app is ready when the following log line is printed :

Microsoft.AspNetCore.SpaServices[0] Browser application bundle generation complete.

The WebApi docs are available at the /docs route.

🐳 Deploy with Docker

git clone https://github.com/Ombrelin/impresent.git
cd ImPresent.Web
docker build -t ImPresent.Web .
docker run -d -p 8080:80 ImPresent.Web

or with docker-compose :

impresent:image:ombrelin/impresent:1.0ports:- 80:8080container_name:impresentenvironment:- JWT_SECRET="mysecret"- DATABASE_URL="my postgres url"restart:unless-stopped

🌟 You are all set! You have a problem ? Please open an issue

Build with

  • .NET 5 & C#
  • Tyepscript
  • Angular 12
  • ASP .NET Core
  • Entity Framework Core
  • Swagger
  • PostgreSQL
  • Docker

Thanks