Giter Club home page Giter Club logo

ideoxan's Introduction

๐Ÿ‘ฉโ€๐Ÿ’ป A free to use online tool to learn programming.


Table of Contents

What is Ideoxan?

Ideoxan is an open source and free to use website being developed. Its goal is to help students and various other people learn programming. A majority of the courses and content provided on the website is free to use and distribute. This makes it easy for educational environments to teach and inform their students on how to become better software developers.

You can learn more and sign up today at https://ideoxan.com/

About this Repository

This repository contains the Ideoxan Express.js Server, Koala Editor, Ideoxan Website and other miscellaneous things.

Contributing

If you would like to contribute to this project, please read the Contributing Guidelines!

License and Community

While this repository as a whole is licensed under the MIT License, keep in mind that this does not mean that all content is under said license. Certain documents and media included or referenced to may be licensed differently, restricted/copyrighted, or may not be licensed at all.

This project is maintained and governed in accordance with the project's official Code of Conduct. Agreement to its terms and conditions, along with Ideoxan's Official Terms of Service, Ideoxan's Privacy Policy and the included license (MIT) is required to contribute to this organization's project.


Get In Touch With Us!

ideoxan's People

Contributors

arduinoidiot avatar charlesn99 avatar dependabot-preview[bot] avatar dependabot[bot] avatar ebethus avatar fuzzmz avatar guidimas avatar imgbotapp avatar karnamanirudh avatar locness3 avatar micahlt avatar skyclo avatar smusmu avatar snyk-bot avatar stephaniegreenberg avatar tudwall avatar yutyo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ideoxan's Issues

Code Formatting

Is your feature request related to a problem? Please describe.
I noticed that the very detailed (it's awesome, by the way) CONTRIBUTING.md file contains an unfinished section on code formatting. But it's hard to get contributors to all write code the same way.

Describe the solution you'd like
If we didn't want to deal with that, we could use Unibeautify for GitHub, a bot that automatically cleans up code. That way people can write code how they want to and we'll still have a standard format.

Describe alternatives you've considered
Er, I suppose there are other code beautifiers for GitHub out there...

Additional context
๐Ÿ‘Œ

Internal server error

Describe the bug
When visiting the instance of Ideoxan hosted on Heroku, I get a plaintext page that simply says Internal Server Error.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://ideoxan.herokuapp.com/

Expected behavior
The Ideoxan editor shows up.

Desktop (please complete the following information):

  • OS: Windows 10 version 1909 64-bit
  • Browser: Chrome
  • Version: 83

Split up testing files

Is your feature request related to a problem? Please describe.
In its current state, the testing scripts (/tests/routes.test.js) are all lumped up together in one big file. This is unorganized and can be difficult to edit/maintain testing.

Describe the solution you'd like
The routes should be split up based on the type of route. For example there is one file for the general routes (like /index, /about, and /signup), one file for the API (like /api/v1/user/create, and /api/v1/user/update), one for static routes (like /static/* or /editor/static/*), and one for editor routes (like /editor/tutorial/000/000). This will make the tests cleaner and more organized.

Redo the User Dropdown

Is your feature request related to a problem? Please describe.
The drop down menu for signed in users is extremely buggy, horribly formatted, and an overall eyesore.

Describe the solution you'd like
The menu should be redone to fit the style of the rest of the website. Maybe make it look like a css button but with a downward chevron and fit the width of the menu. It doesn't have too look this way, it was only a suggestion. Whoever decides to take this on will have full creative direction, so feel free to do what fits.

Too small border for progress

Describe the bug
The text in the progress completion overshoots the border

To Reproduce
Steps to reproduce the behavior:

  1. Go to the progress section in the user page

Expected behavior
It should stay within the boundary or the boundary should grow to fit it

Screenshots
image

Desktop (please complete the following information):

  • OS: Arch Linux
  • Browser Firefox
  • Version 77.0.1

Next Lesson button glitch?

The editor is looking great, by the way!

Describe the bug
The text on the next and previous lesson buttons appears top aligned (vertically) when the page loads. However, on hover they become aligned centered (again, vertically).

To Reproduce
Steps to reproduce the behavior:

  1. Hover over the next button
  2. The positioning is adjusted

Expected behavior
To be honest I don't know. But this doesn't seem quite right... maybe the button text should be vertically centered from onload?

Screen recording
ezgif-2-4366deb719d3

Desktop (please complete the following information):

  • OS: Ubuntu 20.04 LTS Focal Fossa
  • Browser: Chrome
  • Version 83

Additional context
I'll try to see what I can do here ๐Ÿ˜ƒ

Login and signup pages not redirecting to index page when logged in

Describe the bug
When logged in, the /login and /signup routes give a 404 instead of redirecting to the index page

To Reproduce
Steps to reproduce the behavior:

  1. Log in
  2. Scroll down to Pricing
  3. Click 'Sign up'

Expected behavior
It should redirect to the index page

Desktop (please complete the following information):

  • OS: Arch Linux
  • Browser: Firefox
  • Version: 77.0.1

Editor and Website Relocation

Is your feature request related to a problem? Please describe.
The root directory (./) is extremely cluttered and should be cleaned up.

Describe the solution you'd like
The ./editor/ and ./www/ directories should be moved into a new subdirectory (./pages/ or ./content/ for example).

Describe alternatives you've considered
The Website (./www/) can be moved into a seperate github repository all together and used as a submodule. However, this is more complicated and could have much more implications than just keeping it localized.

Additional context
Due to the fact that the editor (@koala) is a submodule, it will have to be removed then added back under a different directory. The global server configuration will also need to be edited to the new directory for the editor & website files. While there is no documentation on the server just yet, this should be fairly simple to do.

Fix Spacing and Alignment of Profile Settings

Describe the bug
The CSS for the settings page for signed in users is not correct. There is a small space to the right that isn't used by a div or form element. This is especially apparent with light mode enabled.

To Reproduce
Steps to reproduce the behavior:

  1. $ npm run dev
  2. Go to 127.0.0.1:3080
  3. Create account or sign in
  4. Navigate to the /settings endpoint

Expected behavior
The element should take the full width of the page.

Additional context
The user settings needs a massive overhaul but this should be a temporary fix until then.

502 error on visiting /

Describe the bug
When visiting https://ideoxan.com, Cloudflare reports a 502 bad gateway error.

To Reproduce
Steps to reproduce the behavior:

  1. Open https://ideoxan.com in a web browser.

Expected behavior
The website should appear.

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser: Chrome
  • Version: 84

Tech stack?

What will be the tech stack for this project?

Default Config File

Is your feature request related to a problem? Please describe.
It is bad practice not to have a default config file. Also, secrets can not be stored in its current state.

Describe the solution you'd like
Make the current configuration file a default one (ie. change to config.default.json) and have that as a fall back if there is no config.json available. Also blacklist config.json but not config.default.json in .gitignore so that secrets can be placed in the config file. This will reduce dependency on the environment variables and make customization easier.

Describe alternatives you've considered
Environment variables are out of the question at this point and a transition to a blacklisted config file would be easier to read and edit.

Website Translation

Is your feature request related to a problem? Please describe.
At this point in time, the website is only in English. Those who have English as a second language or who do not speak it at all can have a hard time navigating and understanding the website contents. While website translation services are available (ie. Google Translate, Microsoft Translate, Yandex Translate), these can sometimes be inaccurate and hard to use.

Describe the solution you'd like
The website should be translated from English (US) into major languages. These might include Spanish, French, German, Russian, Mandarin, Hindi, etc. THIS ISSUE IS ONLY FOR TRANSLATING THE WEBSITE/DOCS. SEPARATE ISSUES WILL BE CREATED FOR THE EDITOR AND COURSES

Assignments
Due to the limitation on 10 assignments on GitHub, the following will be a running list of assignments to specific languages. There can be more than 1 language assigned to a person. There can also be more than 1 person assigned to a language. The following is an updated list of assignments:

(โœ… = Completed)

Do not use Google's reCAPTCHA

Having Google's reCAPTACHA on multiple websites is one of the ways google use to track everyone around the web. Would be great to avoid that, there are alternatives.

Needs CONTRIBUTING.md file

@skyclo I didn't know what kind of issue to file, but here you go (I'm-Archon- on Scratch). And it is true, you probably should add a CONTRIBUTING.md when you get a chance. ๐Ÿ‘

Dump of UI/UX concerns and suggestions

Hi! Below is a dump of UI and UX things that concern me, and suggestions on how to improve, in no particular order.
For info, I'm testing on Firefox 82.0 on Ubuntu 20.04.1 LTS.

First of all, most text is too small! All text should be at least over 10px to be comfortable and legible. I'd use at least 13px.

Then, these icons are way too big, especially compared to the text. You shouldn't scale up icons designed at small sizes.
Capture du 2020-10-25 09-53-58

Then, the pricing table could be presented in a "friendlier" and easier sacannable way, using cards and showing only the most important points, also emphasizing one of the two subscriptions more, for example.

Finally, there is a general lack of contrast in some places. For example, the primary button text color has a contrast of only 3.60 from the background, and the IX+ yellow has a 1.30 contrast with the page background (in light mode). The WCAG recommended value is of at least 4.5 for regular text and 3 for large text.

No embed for website on Discord

When I sent the link https://ideoxan.com/ on Discord, I found out that there was no embed. Maybe add this?

<meta title="Ideoxan" />
    <meta charset="utf-8" />
    <meta property="og:title" content="Ideoxan" />
    <meta property="og:site_name" content="Ideoxan" />
    <meta property="og:description" content="Ideoxan is a free to use online tool to learn programming." />
    <meta
      property="og:image"
      content="https://github.com/ideoxan/brand/blob/master/exports/ix_logo_fulldark_2000x2000.png?raw=true"
    />
    <meta property="og:image:width" content="500" />
    <meta property="og:image:height" content="500" />

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.