Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neelr/reghack
A registration web app for hackathons or other events
https://github.com/neelr/reghack
email-sender mongodb nodejs qrcode registration-system
Last synced: about 2 months ago
JSON representation
A registration web app for hackathons or other events
- Host: GitHub
- URL: https://github.com/neelr/reghack
- Owner: neelr
- License: agpl-3.0
- Created: 2019-07-14T17:16:12.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-10T22:33:36.000Z (about 2 years ago)
- Last Synced: 2023-03-04T10:54:14.107Z (almost 2 years ago)
- Topics: email-sender, mongodb, nodejs, qrcode, registration-system
- Language: CSS
- Homepage: https://reghack.js.org
- Size: 1020 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RegHack
Automated registration for your events!## What is it?
This is a registration node app that uses mongodb as a database for storing and presenting people. There is a mass email mechanism (through a POST request or soon to come /email) which can include a qr code to check in and out people. This alo has a form to store and keep people.
### For IN DEPTH DOCUMENTATION GO TO https://reghack.js.org
## Getting started
### Download/Config
1. First clone the repository with
```bash
git clone https://github.com/Hacker719/RegHack
```
2. Next is configuring the config.js. This is important because the entire program will make and store data based on this. So to do this you need to go to the config.js file. Then you will face the defualt options. You need to include all parts of data you want to record (ex. School, Age, Height etc.) You need to input those, and an example input (to determine between string and integer). There are some special configurations:1. First is `checked`. This will allow you to, see if they are checked in or out and use the QR reader function. To activate set it to `false`.
2. Second is `email`. This will allow you to, mass email the people an html email. To activate set it to a string
an example is:
```javascript
module.exports = {
"Name":"John Doe",
"School":"Berkely College",
"Grade":12,
"age":42,
"email":"[email protected]",
"checked":false
}
```
3. The last thing to do is configure the .env file. A model can be found in the model.env. The basics are- MONGO_URL=Your actual mongoDB url with a collection
- EMAIL_USER=Your gmail email.(you need to configure with other smtp servers inside index.js
- EMAIL_PASS=Your email password
- API_KEY=This is any string of numbers and letters that are a basic password for your registration system.
4. Done! All you need to do now is run
```bash
npm install
node index.js
```
and it will run it on localhost:3000## [Documentation](https://reghack.js.org)
### POST REQUESTS
#### /toggleID
This can only be used if checked is enabled. This is to switch their check in value, and the value is
```json
{
"id":"Mongo ID",
"where":"in/out can be configured for more",
"key":"your chosen API key"
}
```
#### /sendmailThis can only be used with email enabled. This is to send a mail to the group. `()b64code(`) will be replaced with a base 64 url of a QR code that you can scan with the /reader GUI. You can also use `()anyconfigvalue()` for that to be displayed. An example includes:
```json
{
"subject":"Subject of the email",
"html":"your html code for the email
",
"key":"your chosen API key"
}
```
#### /clear
This checked for the key, then clears the entire MongoDB collection, deleteing all data. THIS IS PERMANENT AND DANGEROUS. And example is:
```json
{
"key":"your chosen API key"
}
```
### GUI/GET
#### /form
This will give a GUI where you can use the POST `/addperson` function in a form.
#### /people/:apikey
A list of the people that are signed up, and whether or not they are checked in.
A GUI to send a mail through the `/sendmail` post. Needs `email` enabled.
#### /reader
An online QR code reader that if your scan the qr code you sent them, will change their checked status to in or out. Needs `checked` enabled
## ContributionsPlease submit any issues and I would be happy to fix them! Submit a pull request to include your changes.
## License
This is under an AGPL-V3