Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Submission & XP System #7

Open
nauvalazhar opened this issue Feb 1, 2023 · 11 comments
Open

[Feature] Submission & XP System #7

nauvalazhar opened this issue Feb 1, 2023 · 11 comments
Labels
enhancement New feature or request

Comments

@nauvalazhar
Copy link
Owner

Let's have the submission page and the XP system to make the challenge more engaging.

Submission is a page that would allow the dev to upload their challenge's solution. Each submission contains at least a description, demo URL, and tech stack information.

All the submissions would go through the approval system, and after the submission is approved, the dev would earn some XPs.

I still don't have any idea about the tech that we can use, but I think the GitHub repository's issues API would be the easier way to implement. But, we still need to find a way to store the user's XP data.

I don't want to build an entire back-end infrastructure only for this feature to be implemented.

Some other advanced options:

Let's have a discussion.

@nauvalazhar nauvalazhar added the enhancement New feature or request label Feb 1, 2023
@nauvalazhar nauvalazhar mentioned this issue Feb 1, 2023
@hendraaagil
Copy link
Contributor

I think if want to make an XP system, we need to build the our own back-end application 😅
Because I can't find any platform who can make that system.

With custom back-end app, maybe we can also make people can submit the design asset through the website.

@nauvalazhar
Copy link
Owner Author

I see, my concern is about the deployment, what option for the deployment, then? I think we can do a full-stack Next JS with the Planetscale database, they have got pretty good a free plan.

@hendraaagil
Copy link
Contributor

I think full-stack NextJS with Planetscale database is a good idea.

@akrindev
Copy link

does it also mean to have badges system?

@nauvalazhar
Copy link
Owner Author

does it also mean to have badges system?

Yeah, it is on my todo-list. But, for now, let's have the submission page first, so the dev could publish the solutions and share them with the world!

@akrindev
Copy link

akrindev commented Feb 13, 2023

sounds good✨
then, do u think we need authentication system? wbu to use github provider? the user then have their submission profile, xp and badges histories.

here is how I figured out
codedesign flow (1)

I'm so excited to collaborate 🥳

@nauvalazhar
Copy link
Owner Author

Whoa, such a nice diagram!

Yes, we can use GitHub provider, but we still need to find a way to persist the user login information on the client. I've tried to implement the session-based auth system, but the problem is we use Next JS 13 appDir feature, so the session API is still read-only. But we can use JWT as an alternative, or maybe you have another option.

@nauvalazhar nauvalazhar pinned this issue Feb 13, 2023
@akrindev
Copy link

Whoa, such a nice diagram!

Yes, we can use GitHub provider, but we still need to find a way to persist the user login information on the client. I've tried to implement the session-based auth system, but the problem is we use Next JS 13 appDir feature, so the session API is still read-only. But we can use JWT as an alternative, or maybe you have another option.

its a great idea to use JWT, I've been using next-auth to handle authentication system with appDir. I'll go first with PR login system.

@nauvalazhar
Copy link
Owner Author

Whoa, such a nice diagram!
Yes, we can use GitHub provider, but we still need to find a way to persist the user login information on the client. I've tried to implement the session-based auth system, but the problem is we use Next JS 13 appDir feature, so the session API is still read-only. But we can use JWT as an alternative, or maybe you have another option.

its a great idea to use JWT, I've been using next-auth to handle authentication system with appDir. I'll go first with PR login system.

Oh, sounds good!

@rndy28
Copy link

rndy28 commented Apr 12, 2023

Hi, new here, Sorry just barged in out of nowhere 😅. I suggest using trpc for custom backend and we can easily integrate it with next auth also, like t3-stack

I think if want to make an XP system, we need to build the our own back-end application 😅 Because I can't find any platform who can make that system.

With custom back-end app, maybe we can also make people can submit the design asset through the website.

@fzn0x
Copy link

fzn0x commented Apr 12, 2023

I think if want to make an XP system, we need to build the our own back-end application 😅 Because I can't find any platform who can make that system.

With custom back-end app, maybe we can also make people can submit the design asset through the website.

Alternatively, we can use https://strapi.io/

For the point system as plugin: https://strapi.io/blog/how-to-build-a-strapi-custom-plugin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants