---
tags: outreachy, chris
---
# Welcome to the ChRIS Outreachy channel!
This is the ChRIS project, we are developing a platform for computational medicine with a focus on neuroimaging. Technically speaking, we could use the help from people with skillsets aligning with React development. Additionally, an understanding of backend design, backend architectures, and Linux containers, would be very advantageous.
Here are some good first steps you can take right now to get a good start:
1. **Attend our next orientation session** Friday, Sept 22 at 1600 UTC in this channel via Jitsi (link will be posted to the channel at that time).
2. **Watch our first orientation session video** You can view it here: https://youtu.be/Oak1lqod8zo (posted 5 Apr 2022) This video goes over the background of the ChRIS project, provides a demo of the user interface, and explains what ChRIS is and what it does.
3. **Watch our second orientation session video** You can view it here: https://www.youtube.com/watch?v=zRwfLnGQlVE (posted 11 Apr 2022) This video goes over step by step how to set up ChRIS locally on your system using the miniChRIS and chris-ui repos, and also goes over a ton of troubleshooting tips. Notes from this meeting are available below.
4. **Get a taste of using ChRIS** by playing around on our demo instance at **https://app.chrisproject.org** (username: chris password: chris1234) and our demo ChRIS Store instance at **https://chrisstore.co/** (create a new user at the login screen)
5. **Try running the backend and frontend locally.** We recommend you use a Linux OS with 8GB RAM or more. There are additional steps and workarounds which are necessary for Mac. We do not support Windows, but it might work, and I can still try to help you. We are also able to provide access to a Linux VM in the cloud for anyone who needs it (is unable to run ChRIS locally).
* The backend can be run using: **https://github.com/FNNDSC/miniChRIS**
* The frontend is here: **github.com/fnndsc/chris_ui/**
For everyone who did all that already, keep up the good work -- choose an issue on any of our Github repos and ask me to be assigned to it. Or, you can open a new issue, propose a new feature or change, and let @Jennings Zhang know.
## Open ChRIS Projects for the December 2022 - March 2023 Outreachy round:
**Contributions Begin Oct. 1, 2022 at 4pm UTC** The links to detailed descriptions for each project will become public at that time.
These are the projects we have listed for this round. You can pick between them to find a focus for your work, but if you have other ideas for projects you'd like to pursue we can definitely accomodate that for your internship so please let us know!
1. **Consolidating and making reusable various react UI components from two user interfaces:** https://www.outreachy.org/outreachy-december-2022-internship-round/communities/the-chris-project/#consolidating-and-making-reusable-various-react-ui
2. **Improve how plugin instance logs are stored in the backend:** https://www.outreachy.org/outreachy-december-2022-internship-round/communities/the-chris-project/#improve-how-plugin-instance-logs-are-stored-in-the
3. **Improve observability and deploy telemetry solution to cloud-based application:** https://www.outreachy.org/outreachy-december-2022-internship-round/communities/the-chris-project/#improve-observability-and-deploy-telemetry-solutio
4. **Research and evaluate search engines for use in the ChRIS project:** https://www.outreachy.org/outreachy-december-2022-internship-round/communities/the-chris-project/#research-and-evaluate-search-engines-for-use-in-th
#### Getting help in this chat room:
1. Copy / paste the exact command you ran
2. Copy / paste the error message you got
3. Note what type of system (Linux, Windows, OS X), version of docker
Don't worry about spamming the chat with a lot of text... often better to be very specfic/pedantic than leaving questions / guesses
#### Debugging issues:
1. Is it a problem with my local machine?
2. Is it a problem with the ChRIS backend? If it's a ChRIS backend issue, it's good to file an issue.
How do we tell if it's a problem with the machine or the project/codebase? One thing you can do is run a command called "docker run hello-world" - if this runs, you know your system can run docker containres ok
Tip: The Docker website has tips on running Docker as sudo more conveniently
Unit testing: when you write code to automatically check whether or not your code works. Whenever you make a change to your code, you run the risk of breaking part of it. If you have an automatic way of checking that everything still works, it saves you a lot of time.
If you get an error message that the port is already in use... you can look up how to determine what is running and pkill it to free up the port
Tip: disk space... sometimes weird errors can happen when you run out of disk space. Docker and docker containers can contain a lot of disk space. So if something goes wrong and you have no idea why, check to see how much disk space you have left.
You can use "docker-compose ps" to see a list of services docker is managing. To get more information about a service in docker, run "docker compose logs <name of service>" For example: "docker compose logs chris_db"
If you are out of space, one option is to use Docker prune to clean out old unused images (if you were using Docker before this)
Right now the backend is in a corrupted state: some services crashed, things failed. So it's better to start new - you always want to start from a "clean" system state. So you can use "sudo unmake.sh" when using minichris to get a clean starting point so you can try again from a known clean state
Tip: Working together with another intern applicant can help you figure out things more quickly
Tip: Rubber ducking - if you don't have anyone to bounce ideas off of for the moment, there's a technique to explain whats going on to a rubber duck (or other cute item on your desk) to help figure it out - in explaining an issue sometimes you get insight
When you get the ChRIS UI up and running, the default username / password is chris / chris1234
You can try a public ChRIS instance at https://app.chrisproject.org if you want to take a look and haven't gotten it running locally on your own system.
Tip: grep -nr 3.1.4 /src to search for 3.1.4 version number in the code from the terminal, to find where in the code its coming from. ripgrep - a good tool to use to search in the terminal. You can also use github search or vscode search.
ChRIS is built using continuous integration via GitHub actions.
Tip: You don't have to work on existing issues - you can find your own issue, make a ticket for it and work on it. Changes don't have to be big, either.