ykdojo / editdojo

(I'm no longer working on this - currently working on https://github.com/ykdojo/defaang)
https://www.csdojo.io/edit
MIT License
332 stars 98 forks source link

Create a sign up form where the new user selects which language they are learning #39

Closed ykdojo closed 5 years ago

ykdojo commented 5 years ago

We're going to start with just Japanese and English.

ykdojo commented 5 years ago

I'm going to work on this next.

ykdojo commented 5 years ago

People should be able to select one of "both Japanese and English," "only Japanese", or "only English".

ykdojo commented 5 years ago

UI text for this:

Select your languages

I'm learning...

I'm fluent in...

NOTE: People need to select at least one language in each category. Also add something like the following:

NOTE: It's currently only available for Japanese and English. If you want to practice writing in other languages, please sign up for our waiting list here: https://www.csdojo.io/wait

ykdojo commented 5 years ago

Working on this now, as well as #41

ykdojo commented 5 years ago

Made some bare UI at https://github.com/ykdojo/editdojo/commit/1abbd84f0f3a21c3a4c71683afb0df7befdf2548 image

ykdojo commented 5 years ago

TODO Next: When someone selects English or Japanese, a plus sign should appear for people to select another language. (but not the same one twice)

ykdojo commented 5 years ago

Also, TODO: We should fix the style a bit so it looks better.

ykdojo commented 5 years ago

Just found this. I'm thinking of using it: https://developer.snapappointments.com/bootstrap-select/

ykdojo commented 5 years ago

Experimented with it a little bit, and it looks really good. However, it looks like bootstrap-select and material-kit try to fight with each other when I try to use them at the same time. Will need to figure out a way to make them work at the same time.

ykdojo commented 5 years ago

Okay, the problem is this:

In order for us to use bootstrap-select, we need to use the plain bootstrap CSS and JS files.

So, there's no easy way to use bootstrap-select and material-kit at the same time.

I still really like how material-kit looks, so I think I'll prioritize that.

Instead of using bootstrap-select, I'll add a bit of code so we can do multi-selecting.. At least that's my plan right now. Or maybe we can look for another multi-select library.

ykdojo commented 5 years ago

People can now select multiple languages. (d6cd571)

image

Now we will have to: A) Fix the style so it looks nicer B) Write some backend code so people can actually sign up

ykdojo commented 5 years ago

Oops. Actually, this code contained a bug. When you select Japanese and immediately change it to English, it keeps creating more and more select elements. Will need to fix it... maybe I'll take care of this tomorrow.

ykdojo commented 5 years ago

Fixed it (1e47642). This works well now. We still need to fix the styles though-- will make this a new issue.

image

ykdojo commented 5 years ago

Done. The new issue for fixing the looks of this is #45.

ykdojo commented 5 years ago

Actually, this is not quite done yet. Still need to make backend and database changes.

ykdojo commented 5 years ago

Just started working on this.

ykdojo commented 5 years ago

Looks like we'll need to use fixtures to load initial language data. https://docs.djangoproject.com/en/2.1/howto/initial-data/

ykdojo commented 5 years ago

Just submitted these commits:

Will probably work on it some more tomorrow.

ykdojo commented 5 years ago

TODO next: create a relationship between users and languages (each user can be fluent in one or more languages, as well as learning one or more languages)

ykdojo commented 5 years ago

1a9fdfa

ykdojo commented 5 years ago

Next: Connect the UI to the database so the user is able to select which languages they are learning / fluent in

ykdojo commented 5 years ago

(NOTE: you can get learning_languages of a user with user.learning_languages, for example.)

ykdojo commented 5 years ago

d3ac7dc

ykdojo commented 5 years ago

Done for now: 6ea8ef2f69e40881115e02efb41bdca2baf73a06

Still need to fix the redirect that happens when the POST request is successful. I'll create a new issue for it.