The webapp for the Kulu app.
rubywith rbenv/rvm (version).
- Find out corresponding
cat Gemfile.lock | grep -A 1 "BUNDLED WITH"and install with
gem install bundler -v <bundler-version>. (This is needed since newer
bundlerrequires Ruby version >= 2.3.0.)
bundle installto install the required gems. (If
nokogiriinstallation fails due to missing
libiconvheaders you will need to install extra headers with
open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg. This is because Xcode 10 on MacOS Mojave and above moves the system headers out of
/usr/includecausing a build failure for
npm installto install all the js requisites.
Since this a rails app, it requires you to setup a DB for the rails server to start up (even though we don't actually use a database for this frontend).
Please copy over the
database.yml.sample file to
database.yml and make the required changes about your username and database and run the following command:
bin/rake db:create db:migrate
- Copy over
- Make the necessary config changes, especially the
Once that's done, start the server with:
bin/rails serverto the start the server
Once started visit http://localhost:3000
AWS S3 CORS permissions
The JS in the app directly uploads files into S3. For this to work, the CORS permissions need to be set up on the S3 bucket. Steps:
- Visit the S3 AWS Console
- Select the bucket (see
application.ymlfor the names).
- Click Properties tab
- Open up the CORS Configuration and change the HTTP methods and headers XML nodes (retain everything else):
<AllowedMethod>HEAD</AllowedMethod> <AllowedMethod>GET</AllowedMethod> <AllowedMethod>POST</AllowedMethod> <AllowedHeader>*</AllowedHeader>
Remember to do this for both dev and prod buckets.
The extractor interface, which is used to extract/transcribe expenses for all organizations is separated out from the rest of the code. As we may not need a different end-point for this to work as it could just be regular user-role later on. For easy removal of this, it's split into these files: