PhpDev.App
bearlike/REMS-For-Organisations

bearlike/REMS-For-Organisations

Stars: 108

Forks: 30

Pull Requests: 52

Issues: 10

Watchers: 7

Last Updated: 2023-06-22 12:36:07

🚀 Streamline club management with our all-in-one system: bulk mailer, certificate generator & more. Perfect for student organizations.

License: MIT License

Languages: CSS, JavaScript, PHP, HTML, Dockerfile, Shell


CMS For Organisations

Efficiently manage resources and events with ease. Our system includes a Form Generator, Mailer, Certificate Generator, and more – perfect for small organizations and clubs!

This repository is currently not actively maintained due to our team's commitments elsewhere. 💬 We're seeking open-source contributors who can lend a hand! If you're interested in contributing, don't hesitate. Every bit of help makes a difference. ✨

Introduction

Looking to streamline your organization's event planning process? REMS can help you! Originally created for our college chapter, we've automated the tedious task of creating forms, certificates, and advertising via mail for our 20+ events with 1500+ participants. Now, any organization, club, or institution can easily fork our project and customize it to fit their unique needs. Join the thousands who have already benefited from our service and give it a try today!

Getting Started

Prerequisites

What things you need to run the software:

  • A web server with PHP preferably Apache2.
  • A MySQL Database Server. (Done and tested on 10.4.8-MariaDB)
  • PHP Extensions pdo_mysql, xdebug, and gd needs to be installed.

Installation

  1. Download the latest stable release from here
  2. Create and Import the Main Database dump for MySQL-MariaDB from here
  3. Create a Forms Database.
  4. Copy the files from this repository to a location in the root directory of the web server
  5. Rename member/secrets.php_ to member/secrets_.php
  6. Update your database credentials, databases names (Main and Forms) and API Keys in member/secrets.php and public/cds-public.php
  7. With your Web Server and MySQL server running, visit the site
    •  Default Username: admin
       Default Password: admin
      
  8. If any error occurs, check your configurations in member/secrets.php and public/cds-public.php and try again

Running REMS as a Docker stack (Experimental).

  • Installation guide for Docker and docker-compose.
  • Modify the default values in docker-compose.yml, docker/mysql/database.sql and docker/secrets_.php to your requirement.
  • By default, exposes to host port 8080. A krishnaalagiri/rems and mariadb container would be configured and deployed.
  • For only the first time, the stack needs to be restarted due initdb in database containers. From the second time, you can directly start the stack.
# From the root of the repository
docker-compose up -d
sleep 60
docker-compose restart

Features and Screenshots (Click to enlarge)

Tested on Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.3.11 with 10.4.8-MariaDB

Certificate Generation and Distribution System (CGDS)

A two-ended system (Both for admin and public) that'll automatically generate certificates and make them available for distribution. The admin will have to upload a Certificate Template and a CSV file with Participant Names, Position Awarded, and Event Name. The generated certificates would be later automatically made for distribution.

CDS Public (Collection) CDS Admin (Generation) Generated Certificates

Database Management

This is an interface for the databases that are used. The administrator can update, insert and delete values from any table of the databases without having to risk cluttering with the structure or format. The interface is made as generic possible to support future development and extensions.

Database Manager Modify Tuples If Error Occurs

Form Generation

This tool is used to generate forms for events. Initially, the specifications of the event must be selected and a form is generated with the designated fields and a table is automatically created in forms-db. The form also has built-in validation for all the fields (emails, URLs, etc) and Markdown support for event descriptions. Once the form is sent out, the entered values are updated in the database.

Form Generator Sample Generated Form

Bulk Mailer

The mailer can send automatically send emails to a specific mailing list. It supports HTML emails and comes with a pre-designed template. The parameters for the pre-defined template can be modified for the specifications of the organization. There is also a feature to create mailing lists to use with these mailers. A CSV of the emails and names has to be uploaded ana a mailing list is created.

Bulk Mailer Interface Mailing List Generator Sample Sent Mail

View Responses

To view all the Responses for generated forms with an option to download the responses as a CSV.

View Form Responses

Link Shortener

A link shortener that uses the short.io API to render shortened links for distribution. It can make shortened link either with a custom slug or can automatically generate slugs for links.

Link Shortener with short.io API

Dark Mode 🌙

Perhaps our most desired feature, it gives an option to toggle the page between dark mode and light mode. Saves your eyes in the night 👀

Dark Mode Preview

Got Issues?

If you're new to the project and run into any blockers, please open an issue on this repository. We'd love to get it fixed for you! Please use the appropriate issue template as it would help us understand the issue faster.

Contributors 🌟

✨ Looking to contribute to our GitHub project? We'd love to have you on board! Feel free to raise issues and pull requests for bug fixes, new features, and improvements. ✨

Krishnakanth Alagiri 👨‍💻 Mahalakshumi V 👩‍💻 Dhiraj V
f f f
@bearlike @mahavisvanathan @dhirajv2000

Acknowledgments

  • Hat tip to anyone whose code was used.

wave