Moving Away From Glitch

Over the past few weeks, I have been (slowly) working my way through editing the Advanced Node and Express block, as there are a few tests and boilerplate code that need fixing.

The more I work on it, the more I am getting fed-up with Glitch. So, I would like to open a discussion on moving everything off of Glitch.

My recommendation would be to not give the option of Glitch. Users will still be welcome to clone the GitHub boilerplate repo, and fork it to be hosted on Glitch. Partially, this is to reduce work I need to do, but mainly, Glitch has not been a useful experience.

Other than that, what recommendations do others have as to the hosting of the backend challenges/projects?

2 Likes

There is an alternative to Glitch that can be useful… Maybe https://Repl.it? Or maybe just not use an online code editor hosting and let the user use their own code editor then host it, but that will make the user experience worse. Just a recommendation…

I suffered a lot using glitch until I came to know that glitch faces a frequent API problem. Even in one of my project my code was running fine and it was about to finish- during adding some more codes, all on a sudden my project failed, I deleted my new codes, still it failed, I rewrote the full code nothing happened to my database, I closed the project, lost the whole day, searching for problem and the next day I found the maintenance problem of glitch. I lost my patience thinking why I deleted all my code frequently and rewrote it!!!

However, I learned something more valuable from this. This will prevent me not to delete any of my code in future in any platform if I face any issue. I searched for alternative to glitch but simply give up thinking the necessity. Now I see, the users often face many issues with glitch project.

I’ll appreciate if you can manage it to help setting up an effective site alternative to glitch for FCC.

Thank you.

Discussion from the Contributors chat-room.

  1. I would like to suggest a migration away from Glitch.
  • Options I see for potential: GitHub, Heroku (free). AWS EC2/Lambda (EC2-free for 12 months/Lambda-always free)
  1. If GitHub is used, the simplist thing to test for is using regex to determine whether the user has input what is expected. This has its challenges of robustness, but is a simple implementation.
  2. Is it reasonable to expect a camper working through the backend content to be able to work with GitHub, and deploy to a service like Heroku?
  3. If we decide not to migrate from Glitch, I suggest we ensure campers are working off of GitHub (where regex tests can be reliably run), but cloning to Glitch is simple enough to view the project.

This is something we want to avoid doing at all cost. There would be so many edge cases to handle, we would be changing them constantly to catch a false positive or false negative. We have the same issue with testing CSS with regex.

2 Likes

The beauty of Glitch is that you can just start working more or less immediately - you click on the link we provide and off you go. As @jeremyfiel (apologies if I’ve got the wrong person!) said on Gitter it’s important for user to be able to focus on the relevant part - in this case the server code. That’s something that Glitch does well. Unfortunately it’s not terribly stable and seems to lose people’s work quite a bit.

With that in mind @Catalactics’s idea makes the most sense to me. Not necessarily repl.it, https://codesandbox.io/ is another possibility. Both seem like reasonable alternatives. They are a little more low-level than Glitch - for example, you have to choose to watch the code, that’s not automatic.

That said, as long as it’s a) possible to sync them with the boilerplate and b) easy to get started, I think they’re viable options.

I do agree with Jeremy on this, whilst also thinking it would be a good experience for users to do more of a set-up. Aside from setting environment variables, creating a database (already needed with Glitch), and forking the boilerplate from GitHub, I have been just refactoring the boilerplate to follow current best-practices, as well as allow simple development.

I have been trying CodeSandBox, but cannot seem to get Node ^12.0.0 up. @ojeytonwilliams, do you have any idea how to make CodeSandBox use a specified version of Node? I have read the docs, but requiring Node in the dependencies or devDeps does not seem to work - the default is always:

fcc-advanced-node-and-express@0.0.1: The engine "node"is incompatible with this module. Expected version “^12.0.0”. Got “10.20.1”

Here is the current boilerplate: https://codesandbox.io/s/github/Sky020/boilerplate-advancednode?file=/package.json

@Sky020 Here is a fork of your project.

I had to change the path to the custom Node version from what is shown in codesandbox own custom Node version example and I added a /version route up top just to test.

1 Like

Hey @lasjorg,

That is exactly what I have been trying to do, but keep getting this:
image

I just realise, I need to remove the declaration of which engine to use…

Thank you.

Hello Guys.

I just want to add my experience of working with an alternative of Glitch. Sky already knows the background about me. I was struggling to complete the .env lesson of the Node and Express series and having trouble particularly getting FCC to validate my code at Glitch. Glitch is very slow and at the time of my writing this, is also status yellow for two of their service.

I tried Repl as suggested by Catalactics and it is amazing. Here are the steps I took :

  1. Go to Repl.it
  2. Choose ‘clone from github’ and gave the fcc repo link - https://github.com/freeCodeCamp/boilerplate-express
  1. It asks whether the language is nodejs and run command should be npm start. I just clicked on the confirmation button, nothing else.

Viola ! my API endpoint was working on creating the .env file and putting logic in the myApp.js and the best part is FCC validated it in a swift. No hickups.

I seriously think this should be considered as a new alternative to Glitch which is painfully slowly and doesnt play well with FCC validation.

Here is my repl link if you want to try it - https://repl.it/@pavansagar/boilerplate-express

3 Likes

Are you done with Repl.it? I’m getting trouble, repl link doesn’t work anymore.

It worked for me too.
Tks! :slight_smile:

1 Like

@hpdipto Maybe mine can help you:
https://StrangeHealthyClient–ramonpacheco.repl.co

Great! it works (for you)! But not for me :pensive:

Here is a blog post from Glitch

@ojeytonwilliams

Codesandbox has the githubbox URL that works like Glitch. You can prepend a Github repo with it and it will open a sandbox and start to import the repo. It seems to work pretty well.

But it is true that we would have to change the startup script to use nodemon which means the repo wouldn’t work well cross-platform with Glitch. nodemon does sort of, kind of, work on Glitch but it’s buggy because it is fighting with the build-in auto restart that Glitch has.

I made a Github repo with the starter code needed. Here is the githubbox link.

If I just open your link I got this:

Got this ‘Not Found’ in Repl.it too.

@ramonm_pacheco can you share your Repl.it source code?

@hpdipto That is the expected output. There is nothing being sent on the / route. You have to start putting in your code for each of the challenges.

Sure @hpdipto
https://repl.it/@RamonPacheco/StrangeHealthyClient
Sorry, i thought i had shared the first time.

1 Like

@ramonm_pacheco thanks for sharing :grinning: