The web app powering the official website for ACM @ the University of Florida.
The UFACM web app runs on the following technologies:
- MongoDB
- Node 6.2.1
- Gulp
In order to use a remote mLab MongoDB database for development, do the following:
- Make an account on mLab
- In upper right corner, press "Create New" (has a lightning bolt)
- Go to the single node tab and select sandbox (free)
- Name your DB "acmlocaldb"
- Wait for your DB to be deployed, click on it
- Go to the user's tab and add a database user (make a user/password). DO NOT CHECK READ ONLY
- Looking near the top, note this connection string using your newly made username/password. It should look like this:
mongodb://<dbuser>:<dbpassword>@ds053126.mlab.com:53126/acmlocaldb
More thorough setup instructions are available on the Wiki: Creating a MongoDB database through mLab.
- Install Node.js)
- Install N (Node Version Manager):
npm install -g n
- Set your Node.js version to
6.2.1
withn
:n 6.2.1
- Check that you're using the correct version of Node.js:
node -v
We'll need to install Gulp and a few of it's dependencies:
- Install Gulp:
npm install gulp
- Install gulp-nodeman:
npm install gulp-nodemon
- Install gulp-jscs:
npm install gulp-jscs
- Clone this respository:
git clone https://github.com/ufacm/ufacm.xyz.git
- In the root directory, install the correct dependencies using
npm
:npm i
- In the
/app
directory, create theusers.htpasswd
file:touch users.htpasswd
- Copy the
config/database.js.sample
toconfig/database.js
and use your mLab MongoDB connection string from above to point the web app towards your mLab database. - Run the application with Gulp in the root directory:
gulp
- Using mLab's online user interface, make one of your test users an admin.
Running the application is as easy as running Gulp in the root directory: gulp
.
Want to contribute to the UFACM web app? It's as simple as:
- Fork this repository to your own GitHub account
- Create a new branch and push some code to it
- Come back to this repository and open a Pull Request with your new branch
- Wait for approval by one of the repository's maintainers.
Questions? Join #ufacm_webapp in the UFCISE Slack!