Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
app
 
 
bin
 
 
 
 
db
 
 
lib
 
 
log
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Projekt Euler

Build Status

This is the Ruby on Rails web-app powering projekteuler.de. It allows visitors to view and suggest German translations of the maths puzzles found on projecteuler.net.

Getting started

  1. Download this repository, e.g., with git clone.

  2. Make sure NodeJS is installed.

  3. Navigate inside the repository folder.

  4. Use bundler to install all required gems.

     $ bundle install
    
  5. Setup the database:

     $ bin/rails db:setup
    
  6. Start the server:

     $ bin/rails server
    
  7. Open http://localhost:3000 in your browser. You should see the web app up and running!

  8. Start playing with the web app. By default, the database will contain some users and translations. The user admin can review translations, while the user translator has submitted some translations. You can login as any user by clicking the Login button and entering their name. This is simply a mock OAuth login; in production mode, GitHub is used for login.

  9. If you ever want to reset the database to the original state, run rails db:reset.

Contributing

Do you have a suggestion for an improvement for the web app? Please create an issue for it.

Do you want to implement this improvement yourself? Follow these steps:

  1. Fork this repository on GitHub.
  2. Create a new branch for your improvement
  3. Implement your improvement, and create tests for it if applicable.
  4. Submit a pull request.

Deployment

  1. Make sure NodeJS is installed.
  2. Set up a MySQL database.
  3. Copy all files from this repository.
  4. Make sure the Rails environment is set to production.
  5. Set up the following environment variables:
    • RAILS_MASTER_KEY: The master key for decryption of the Rails credentials
    • DATABASE_NAME: The name of the MySQL database
    • DATABASE_USERNAME: The username for the MYSQL database
    • DATABASE_PASSWORD: The password for the MYSQL database
    • GITHUB_CLIENT_ID: The client ID of your GitHub OAuth App (that you will need to create)
    • GITHUB_CLIENT_SECRET: The client secret of the GitHub OAuth App
  6. Install all required gems with bundle install.
  7. Load the database schema with bin/rails db:schema:load.
  8. Precompile all assets with bin/rails assets:precompile.
  9. Start the server, e.g., with bin/rails server.

Anytime you update the files, you should run bin/rails db:migrate, bin/rails log:clear tmp:clear, bin/rails assets:precompile and then restart the server.

License

This project is released under the MIT License.

About

A rails web app for the german translation of projecteuler.net

Topics

Resources

License

Releases

No releases published

Packages

No packages published