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%
| .github/workflows | separate pipeline with only ci for PRs | |
| ImPresent.Tests | implement unvolunteering | |
| ImPresent.Web | Merge pull request #30 from Ombrelin/transverse/branding-and-readme | |
| screenshots | add logo + readme | |
| .gitignore | fixing wrong routes + adding tests | |
| impresent.sln | finished implementation of promotion creation & auth | |
| impresent.sln.DotSettings.user | implement unvolunteering | |
| LICENSE | Create LICENSE | |
| README.md | Update README.md | |
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 :
- Can create a class (promotion)
- Adds the students to his class (csv imports supported)
- Can create a day of presence for a target date
- Share the volunteering link to the class
- Waits for the students volunteer using the link
- Can add people that have not volunteered to reach the minimum of attendees, based on their last presence date
- Can export the final presence list for the day to send it to the school admin
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
- @Ombrelin for the backend
- @PoloLacoste for the frontend
- @Grandkhan for the app icon