alexmdodge / student-search

:mortar_board: A search app which uses Google Sheets as a database.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Student Search Application

A search application that uses Google Sheets and the Google Visualization API to retrieve student information which was stored using a Google Form. The application can search by first and last name, school, and scholarship amount the student has retrieved so far. This application could be extended to anything, as the power is the simplicity of using Google Sheets as a database.

For secure student information using the application in the secure-login directory. This is wrapped in a secure php login interface which uses modern php hashing and salting to secure passwords in a MySQL database.

Table of Contents

Demo

If you would like to try out the application first head to my projects page .

Login

The default login information for the server is the same as provided in the docker container. If used it is **highly recommended** you remove the login from the server and change the information. ``` username : admin password : admin123 ```

Selecting Students

Click the first box and enter : `John` and `Jones` for first and last name respectively.

For some other test data you can look directly at the google sheet here, or you can simply play around with some of the amounts and school options.

The application is set up so you can simply search by individual elements or multiples. This allow you to retrieve specific information or general groups. Notice that you can output both to pdf and if you print the page, the CSS styling will be maintained on the elements.

Docker Demo

If you would like to get your own local instance of the application running with MySQL and the database **pre-configured** head to my docker hub and check out my [Student Search Docker Container](https://hub.docker.com/r/alexmdodge/student-search/).

Installation Instructions

If you would like to contribute or explore the source code first clone the directory to your local system and ensure that NodeJS and npm are installed. For NodeJS head here. npm will come with the install! Check if they're installed using node -v and npm -v.

Navigate to the Student Search directory and run the installation files, npm install and bower install. Note that bower will be removed from the project soon in favor or purely npm or perhaps yarn.

Go back to the home directory with the gulpfile in it, then you can run the build commands.

Build Commands

To run a test site with browsersync and watch functions using gulp just run, ``` gulp ``` Currently there are no other build functions in the project but upcoming are, * Testing * Staging * Docker watch * Docker commit

Docker Support

This application currently has a docker container so you can get up and running with a fully configured pre-configured database. Find it [here](https://hub.docker.com/r/alexmdodge/student-search/). Some commands you may find useful,
sudo docker run -p 80:80 -t -i alexmdodge/student-search /bin/bash

Then start the web server and mysql database,

service apache2 start
service mysql start

Then to pop back out and do other things hit ctrl + pthen ctrl + q.

If you want to get back in to the terminal to continue working on it,

docker exec -it container-id /bin/bash

Use docker ps to view the running containers properties. To copy changes from the local directory into the docker container use,

docker cp . container-id:/var/www/example.com/public_html

To commit changes to the most recent container,

docker commit container-id alexmdodge/student-search

Database Configuration

(**in progress**)

Examples and Support

Once you have the project running in your browser, you'll notice a couple of options. The main idea is that the user clicks and enters how they want to search for the particular student or groups of students. The submit button will not highlight until a field is used. Form validation is also used to ensure proper queries.

When the submit button is clicked all of the form elements store their information in a query object which is passed to the visulization query funconion init(). This is where you could customize whether you use the Google Visualization API (which is actually pretty convenient for test purposes), or whether you set up your own database and query section.

Contributing

(**in progress**

Contributions

About

:mortar_board: A search app which uses Google Sheets as a database.

License:MIT License


Languages

Language:JavaScript 75.7%Language:CSS 21.2%Language:PHP 2.3%Language:HTML 0.8%Language:Ruby 0.0%Language:ApacheConf 0.0%