[Feature] Submission & XP System
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:
- https://planetscale.com
- https://strapi.io
Let's have a discussion.
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.
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.
I think full-stack NextJS with Planetscale database is a good idea.
does it also mean to have badges system?
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!
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

I'm so excited to collaborate 🥳
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.
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.
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!
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.
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