Just a simple CodeIgniter application that lets you manage places to go and make a random choice based on that list.
- User login / authentication / password reset
- Ability to modify one self profile
- Ability to add, modify and remove places
- Autocomplete of known places using google maps API
- Automatic lookup of known addresses
- Place map display given that it has a google map location
- The usual suspects (validation, error handling)
- Enough cowbell
Room for improvement
Lots. CRUD's for the users and for all places so admins can manage them. Also CRUD's for catalogs like countries and states.
There is a file in
db/model.mwb that has all the models of the database that you can "forward-engineer" to create the database. Alternatively there is a
db/create_db.sql script which will do the same. You can use either MySql or MariaDB, either would work. We are using certain functions which are not available on PostgreSQL by the way so beware.
The included model/script will create an
indecision_user mysql user/schema. Its password its
Str0ngP4ss@ci!. The user has inser/update/delete permissions only, this is on purpuse to avoid using
Once database is created there are certain environment variables that you need to set, mainly:
These variables need to be set so that the
src/application/config/database.php files can read them, otherwise you need to go to those files and hardcode the encryption key and database credentials which are not under source control for obvious reasons.
If you want to make use of the mailer feature you also need to set this environment variables:
Or hardcode the values in
Just point the root of the document to the
src/public folder. Please note that out of security concerns I usually move the
index.php file from CodeIgniter which bootstraps the application to a different folder so we don't have to expose
application/ folders on the webserver.
There is an included
htaccess.txt file that you must rename to
.htaccess if you want to have friendly URL's, that is, without the
index.php in the URL.
This file of course should be in the document root of your webserver. The included file also exports the env vars so you can change them there if you don't want to export them system-wide.