Skip to content

In-browser IDE for running, collaborating, saving and sharing code snippets.

License

Notifications You must be signed in to change notification settings

adarshaacharya/CodeTreats

Repository files navigation

Logo

License: MIT Travis (.com) Heroku

In-browser IDE for running, collaborating, saving and sharing code snippets.

⭐ Features

  • In-browser IDE with VS Code like text editor having features like auto-completion, code-formatting
  • 8+ Programming Languages support
  • 15+ Themes Support 🤯
  • Save snippets publicly with shareable link
  • Search snippets with title
  • Realtime Collaboration (unlimited users) 🔥
  • Realtime Chat 💥

⚠️ Website isn't mobile friendly and for best experience use Google Chrome.

📺 Prerequisites

Before running app locally make sure that you install following things:

  • Nodejs with npm or yarn installed
  • Mongodb as database.
  • Strongly recommended to use Robot 3T as MongoDB GUI for local database setup or simply use MongoDB Atlas and paste token in DATABASE_URI

🚀 Local Development

Step 1: Clone the repo

https://github.com/adarshaacharya/CodeTreats.git

Step 2: Install dependencies

Install both client and server dependencies

# Install dependencies for server
$ npm install

# Install dependencies for client
$ npm run client:install

Step 3: Configuration

  1. Create .env file in project root dir

    $ touch .env
  2. Copy everything from .env.example as paste it in .env

  3. Go to Glot signup page and create new account.

  4. Then go to this page and copy & paste token in GLOT_TOKEN = <YOUR_TOKEN_HERE> in .env file.

Step 4: Usage

Now you can run the application by :

# Run the client & server with concurrently (for running full application)
$ npm run dev

# Run the Express server only
$ npm run server

# Run the React client only
$ npm run client

# Server runs on http://localhost:5000 and client on http://localhost:3000

⛵ Production Deployment

There is a Heroku post build script so that you do not have to compile your React frontend manually, it is done on the server. Simply push to Heroku and it will build and load the client index.html page

🤝 Contributing

Contributions, issues and feature requests are welcome. After cloning & setting up project locally, you can just submit a PR to this repo and it will be deployed once it's accepted.

⚠️ Note - Commit & PR Title :

It’s good to have descriptive commit messages so that other folks can make sense of what your commit is doing. This project uses Husky prevent bad git commit, git push and more 🐶 _woof!

Read conventional commits before making the commit message.

👏🏻 Show your support

Give a ⭐️ if you like the project!

👤 Author

📝 License

Copyright © 2020 Aadarsha Acharya.
This project is MIT licensed.