Charicrux | Unveiling Crypto Fundraising | MERN Application.
Tags: atlashackathon, typescript, reactnative, web3
Published: 2022-01-14 02:56:16

### Overview of My Submission

Our application provides organizations such as non-profits to create their custom ERC-20 token on the ethereum blockchain, while simultaneously allowing users to invest in organization crypto tokens and donating a margin of their profits to various fundraisers setup by organizations.

To bring this idea to life, we chose many technologies, including MongoDB, to cohesively run together. We choose Nest.js for our API which is running on a docker instance on AWS. Next, for our application we chose React Native and engaged in some Swift and Java development. For our website, which mainly outlines our Privacy Policy & Terms of Service we chose React. Finally, to manage all of our user data we used MongoDB extensively to provide fast data queries and full-text search operations.

Additional Technologies Include:

- Github
- GraphQL
- Nginx
- AWS Code Pipeline, ECR, s3, Amplify and Elastic Beanstalk

### Submission Category: 

We chose the "Choose Your Own Adventure" category because we dared ourselves to think outside the box and come up with an original idea utilizing MongoDB capabilities.


### App Links

Currently, our app is deployed using Robsten Ethereum Testnet to make testing easy without need to spend real Ethereum.

Link to iOS Beta App: https://testflight.apple.com/join/XYe9vsjw

### Links to Code

This link will take you to our Github organization where you can view our repositories for our application, server, and website.

Github Organization Link: https://github.com/charicrux

![Charicrux Poster](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0b8f16d04zn80u4wl6u4.png)

### Demo

**1. Download App**
To demo the current capabilities of our idea first we will need to download the app. You can do this by using the TestFlight link if you are on iOS: [TestFlight Beta Link](https://testflight.apple.com/join/XYe9vsjw)

**2. Create Account**

On the launch screen you will get an option to create account, begin by pressing that. Next, you will be given a choice to select an existing organization or add one that you want to support and doesn't exist yet on Charicrux's platform. If you choose to create an organization, once you fill out the form, you will be given navigated back to the select organization page. Here just search your organization and your good to go! Finally, you will need to enter an email and password and create your crypto wallet!

**3. Deposit Ethereum**

![App](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7cnpfivw428xvixj97b5.PNG)

Now, let's deposit some Ethereum in our Wallet! Since our app is currently running on the Robsten Testnet we don't have to buy real ethereum. Instead, we can get some from a Robsten Faucet. To find you wallet address, press the buying power button.


![App](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w1hkd2f0t5pf4w2djwre.PNG)

You will be greeted with a nice screen where you can see how much ethereum you have in your wallet and your address. Now,
copy your address and head over to this website https://faucet.ropsten.be. Here you can paste your crypto address and receive some ethereum. Be sure to refresh your screen on Charicrux after a few seconds by dragging down until the scroll wheel comes.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8la925smg040nsxqrgix.PNG)

**4. Create Token**

Now, since you have some ethereum, let's do some crypto transactions! After successfully receiving ethereum, go to the homepage and swipe sideways on the note that says "Beta Release" until you see the "Beginner's Guide" Note. Now, press "buy TOKEN NAME". 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ztotmcby3okzyd0lugek.PNG)

Now you should see a screen similar to the image above if your organization's token doesn't exist yet. If you choose an existing organization and the token exists skip to step 5 instead. Alright, so now press "create TOKEN NAME" and you should a nice Modal appear.

![App](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g8878hjzisuu8d7uls9n.jpeg)

If you have sufficient ethereum in your wallet you should be able to click "deploy TOKEN NAME". This will take around a 1-2 minutes to deploy. While you wait, you just deployed a smart contract to the Ethereum blockchain and created a new Liquidity Pool in a matter of minutes.

Once it's created, the modal should automatically close and you should see all the token details. If the button stops loading and the modal doesn't go down try again to create the token in a few minutes. 

**5. Buy Tokens!**

Now you can click the buy button and enter a ethereum value. Press done and purchase the tokens! After a few seconds you can refresh and see you have those tokens.

### What does the Future Look Like For Us?

Currently our app is running on the Robsten Ethereum Testnet. Although as our speedy development team continues to progress, we hope to switch over to mainnet and let users engage in real crypto transactions using Uniswap Protocol. Furthermore, we also hope to allow organizations to create various fundraisers and users to support social causes once we deploy on the App Store and Play Store.

### Team

**Sonal Mehta**

```
const email = () => sonalmahit@gmail.com;
```

**Mahit Mehta**

```
const email = () => mahit.py@gmail.com;
```

**Anant Chary**

```
const email = () => avc0824@gmail.com;
```


### Acknowledgments 

We want to thank MongoDB and DEV for collaborating to host such a fun and enjoyable hackathon! We truly love using MongoDB, its simplicity and capabilities are truly astonishing.