Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork198
codebar/planner
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
A tool to help managecodebar.io members and events.
If you are considering making a PR, please take a look at theGitHub issues to see if there are any new feature requirements or bugs that you maybe able to help resolve.
Need help?We're on Slack!
The following steps walk through getting the application running. Before you start, please check out ourcontributing guidelines.
- Clone the project
- Enable GitHub Authentication
- Install and set up the environment using docker
- Start the app
- Run the tests
- Navigate to your project's chosen parent directory, e.g.
cd ~/Documents/codebar - Clone the project, e.g.
git clone git@github.com:codebar/planner.git - Navigate into the project directory:
cd planner
The application uses GitHub OAuth for user authentication. You'll need to create a new OAuth application on your GitHub account, then add the key and secret to your project's environment variables.
Visithttps://github.com/settings/applications/new and fill out the form to create a new application. Use these field values:
| Field | Value |
|---|---|
| Application name | Something memorable, like 'codebar planner' |
| Homepage URL | http://localhost:3000 |
| Application description | Something memorable, like 'Local codebar app authentication'. |
| Authorization Callback URL | http://localhost:3000/auth/github |
- Run
touch .envto create a file named.envin the root of the application folder. - Open this .env file in a text editor, and add the GitHub key (Client ID) and secret (Client Secret) like so:
GITHUB_KEY=YOUR_KEY GITHUB_SECRET=YOUR_SECRETWindows doesn't like creating a file named.env, so run the followingfrom a command prompt in your project folder:
echo GITHUB_KEY=YOUR_KEY >> .env echo GITHUB_SECRET=YOUR_SECRET >> .envNote: If when starting the application with Docker you get the errorUnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte this may be because you created the.env-file using PowerShell. This can be solved by deleting that file and creating a new one using a bash shell (for example Git Bash).
We recommend using Docker to install and run the application. However alternatively if you prefer,you can install directly to your system environment instead.
Before you start, you will need to have Docker installed and running. You candownload it from the Docker website. Once downloaded, install and start the Docker application.
Runbin/dup to build and create the docker container. This will also set up the Rails application within the container and start the container. You will only have to run this command once. After initial setup, usebin/dstart to start an existing container - usingbin/dup will recreate an existing container and reset the database.
Runbin/dserver to start the Rails server.
*If you have previously stopped the container, you will have to first start the container usingbin/dstart.
This should run a process which starts a server in a Docker container on your computer. This process won't finish - you'll know the server is ready when it stops doing anything and displays a message like this:
Rails 4.2.11 application starting in development on http://localhost:3000(Optional) Note that to be able to use the page as an admin, you must first give yourself admin privileges. Make sure you have started your app and signed up as an user on your locally running app. Then run the scriptbin/dadmin <your email>.
You can now view the app athttp://localhost:3000
You can stop the server when you're finished by typingCtrl + C.
Runbin/drspec to run all the tests.
This command passes any additional arguments intorspec in the docker container, so you can run individual tests withbin/drspec PATH_TO_TEST and run a single test case in a file withbin/drspec PATH_TO_TEST:LINE_NUMBER
There are a small number of feature tests marked withjs: true which useheadless Chrome. These can be hard to work with without being able to see what isactually happening in the browser. To spin up a visible browser, passCHROME_HEADLESS=false as part of the test command, for example:
CHROME_HEADLESS=false bundleexec rspecRunning JavaScript enabled tests with a visible browser currently doesn't work with Docker.
bin/dup:docker-compose up --build -d --wait && rake db:drop db:create db:migrate db:seed db:test:prepare. Rebuilds and boots up a new container, and then initialize the Rails database.bin/dstart:docker-compose start. Starts the existing container.bin/dserver:docker-compose exec web make serve. Runs the Rails server. Use this instead ofbin/drails serverto make it bind to the correct IP addresses to allow the server to be viewable outside the container.drails:docker-compose exec web rails $@. Runs rails within the container.drspec:docker-compose exec web rspec $@. Runs rspec within the container.drake:docker-compose exec web rake $@. Runs rake inside the container.dexec:docker-compose exec web bash. Runs a bash shell inside the container.dadmin: Gives the the last user (or the one with a given email) the admin rolebin/dstop:docker-compose stop. Stops container but does not remove itbin/ddown:docker-compose down. Stops and destroy a container.
We use Bootstrap 5, you can find the documentation here:https://getbootstrap.com/docs/5.2/getting-started/introduction/
You can pick one of the openissues, fix a bug, improve the interface, refactor the code or improve test coverage!
If there is something else that you would like to work on, open an issue first so we can discuss it. We are always open to new ideas and ways of improving planner!
About
🗓 the main codebar site
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.
