flxcn / volunteer-nexus Goto Github PK
View Code? Open in Web Editor NEWVolunteer Nexus aims to provide a unified platform to connect students with service opportunities in an organized and efficient manner.
Home Page: https://volunteernexus.com
Volunteer Nexus aims to provide a unified platform to connect students with service opportunities in an organized and efficient manner.
Home Page: https://volunteernexus.com
Remove the need for students to manually enter their Student ID. This will reduce possibilities for error, and lower the barrier to adoption.
Add a AUTO_INCREMENT
default to the student_id aka volunteer_id column.
Using PHPMailer, a cronjob, and SQL, we can and should add the feature of email reminders whenever new events are added, opportunities are the following day, etc.
Duplicate accounts may be created by people who input their email addresses with differences in uppercase or lowercase. Keyboards on user devices might automatically capitalize the first letter of the email address, potentially leading to duplication later.
e.g. -> [email protected], [email protected], [email protected], are all unique from the perspective of the database
Otherwise, volunteers will be able to access the sponsor pages if they are logged in
After you submit the confirmation to delete an opportunity or engagement, it goes directly to error.php
On the code hosted on the web server, after clicking on either 'Confirm this Engagement' or 'Deny this Engagement,' no additional text is inserted into the table cell and there is no indication that it works. However, the confirmation button works on the local server, but the denial button does not.
Change to display affiliations even if no points have been gained for that specific affiliation.
e.g - If a person has joined the Student Council affiliation, it should show up as:
Student Council - 0
So, people do not end up joining an affiliation multiple times because they think it was not done properly.
On the mobile view, when sponsors attempt to fill out forms with dates, the add-on date picker conflicts with the default iOS date picker. The add-on date picker prevents the default iOS one from being functional; the user is forced to ultimately click the add-on date picker to make the selection final.
A potential solution is to load the datepicker based on what device the website is being accessed through; possibly through media queries?
This issue will be for listing potential pitfalls to avoid when including php files in an effort to create more modular design.
Make sure that session_start()
is not called multiple times.
Make sure that config files for establishing connection database ARE included in each and every php file needing it; included php files will not run off of the database connection established by the main page.
Make sure that the bootstrap, jquery, popper files are not included multiple times in the <head>
Might have to include more GET variables in the url in order to be able to find the opportunity-read.php page properly, or utilize javascript back one page function.
After implementing the footer, which is a navbar on the bottom of the page essentially, there is not enough padding on the page contents, so the footer sometimes prevents users from seeing the entire page's buttons or form fields. May need to change head.php file
A feature should be implemented, in the same style as the tabbed "upcoming, ongoing, completed, all" events view available to Sponsors, to show different versions of the volunteer lists. Subgroups can include: "current," "former - those who have graduated," "external," and "all."
In conjunction with the navbar link, this should improve usability
Volunteers would click on a button, and in the course of waiting for the server to respond, which was longer than usual due to the number of simultaneous users, would click on the button again. So, for some engagements, they submitted it twice, even though they participated only once.
This would provide a more organized file structure and reflect structural conventions in similar PHP projects
role_name clarifies the goal of the table column, but opportunity_name follows the style set by event_name.
Due to the renaming of files to better organize, many of the links to various CRUD functionality pages are broken.
Using Bootstrap Modal Windows, the view can be more simplified for users. However, testing must be done to ensure that modals are suitable for mobile views.
Helpful links:
https://getbootstrap.com/docs/4.0/components/modal/
https://www.w3schools.com/bootstrap/bootstrap_modal.asp
Sponsors need the ability to delete extra or unwanted affiliation sign-ups.
If because of some circumstances, volunteers are unable to report their activities, give sponsors the option to manually enter the appropriate information.
For the recording of tutoring engagements and all forms in general, there needs to be more stringent verification for time entries. Especially because the tutoring form, tutor-engagement-create.php, is accessible to all volunteers, it has a high priority. It appears that Safari on Desktop does not provide the time hints which are found on mobile Safari and Chrome.
Please refer to this discussion thread on Stack Overflow for ideas on how to implement more stringent data verification:
https://stackoverflow.com/questions/3964972/validate-that-input-is-in-this-time-format-hhmm
If this shows up, it means the SQL query has issues. It displays because the query is invalid, and the statement cannot be closed. The warning can be removed by moving the mysqli_stmt_close()
inside the if statement, but that will not fix the query issue.
Requested feature for sponsors: have an additional form or checkbox on the manual engagement addition aspect, so that sponsors can add all affiliated members to a specific opportunity.
Currently, the events are listed with most recent at the bottom of the list; to make it easier for users, it should be in the opposite order.
Two versions of a similar feature;
Add a field to opportunities specifying the limit for the number of times an engagement can be created for a specific opportunity. The default would be 1, perhaps it could be implemented by a radio button
For the total number of positions, enforce a check on the number to ensure it is not surpassed. Or include a "do not enforce" option for the limit (perhaps a check box?)
The QR code generated as a Volunteer ID as part of the AttendanceAnywhere element of the VolunteerNexus environment has difficulty being scanned by our current scanning code. First areas to address would be the resolution of the QR code in relation to the center logo. The center logo may be too big relative to the whole QR code, so the code must be reverted to an older version with higher resolutions stated.
Many of the pages redirect to index.php after hitting the submit button; all have to be updated.
A panel with total statistics on users, engagements created, hours/points of contributions created, etc. would be very helpful for administrators.
Several form fields correspond to table columns in the database that have character limits, e.g. varchar(300)
. Adding a tracker or perhaps a specific error message pointing this out would be very useful for the users. In addition, perhaps expanding the max limit would also help.
Most links to error.php are broken. This is due to the folder restructuring that occurred previously and separated the application into sponsor and volunteer views.
Question: Should we duplicate the file and move them both into their respective folders, or should we edit links to go up one level and access the error.php file?
A feature is needed to freeze volunteer accounts which are creating a nuisance for Sponsors
Form appears, but when the submit button is clicked, nothing happens
Give sponsors the ability to delete affiliations. This could be used when a volunteer graduates or leaves the school district, or if they quit the organization, or if they accidentally signed up.
At the present moment, we are able to see the total number of contributions, but sponsors must be able to look more closely in a convenient manner, in order to conduct checks on volunteer engagement.
Make sure that the auto-increment is reset to the proper number when starting the system up new.
Helpful links:
https://dba.stackexchange.com/questions/43812/how-can-i-reset-a-mysql-table-auto-increment-to-1-in-phpmyadmin
The form will not let you create an opportunity without checking the "needs_confirmation" checkbox.
Clicking on the hamburger will expand the menu, but it will not collapse. Possibly an issue with intializing some external libraries (js, popper, etc.)?
When Sponsors are writing descriptions for Events and Opportunities, they need to create links without HTML knowledge and inputting in anchor tags (<a>
).
Currently, the dates displayed across the platform are all using the standard SQL date time format. However, it detracts from the user experience. Having it convert into either "Month Name, Date" format or "Day Name, Month Name, Date" would be preferable. This can be written as a method in the class or on the page itself.
Could pose an issue of someone pasting engagement-verify.php?engagement_id={anything}&status=0
, which would deny all of the affected engagements.
When multiple classes are instantiated, the DatabaseConnection class is instantiated more than once.
Perhaps the link is incorrect.
<a href='read-event.php?event_id="<?php $row["event_id"] ?>"' class="btn btn-primary">Back</a>
If someone accidentally clicks the confirmation button instead of the denial button, they will have an opportunity to rectify the error.
Eventually, when VolunteerNexus is scaled up greatly, dividing the results available into smaller groupings will ensure that the browser is speedy and does not get overloaded.
Currently, on all of the tables displaying information, the full content of the description is displayed, even if it is much longer relative to other descriptions and the table itself. This would pose a problem especially for mobile users. Solution is to add a cutoff after x amount of characters, where the broadest display would end with "...", while clicking on "View" would display all of the details.
When a deletion is confirmed, it returns to the opportunity page no problem. However, the back button will no longer work.
Instead of having the volunteer or sponsor prefix, we could change to two separate folders.
Based on the Upcoming Engagements table, students should get reminders the day before the event reminding them to show up, with a list of all the details.
Confirming an engagement works fine, but denying an engagement, although it does it successfully, produces an error message. Likely from the "undo" button implementation.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.