Mylo/cs
Stack
TypescriptMySQLPrismaNextShadcn/uiNext-AuthRedux
Website
https://mylo.vercel.app/Repository
https://github.com/enzom-uy/new-myloThis project has three main parts:
- This Frontend web app.
- Discord Bot built with Typescript and Discordjs.
- MySQL database in Planetscale.
Featured technologies
- Typescript
- Javascript superset that makes it actually safe (and kinda fun) to use.
- Nextjs
- Next is the Javascript/React framework that I chose for this project, since it's currently the one that interests me the most and fits my needs.
- Tailwind
- I really love how much Tailwind speeds up my CSS and I consider it the best way to have CSS in the same file as your component.
- Shadcn/ui.
- I chose to use a Component Library like Shadcn/ui because it allowed me to be more focused on my code, instead of styling. It increased my development time, and it's the one that I find more easy to customize if I need to.
- Shadcn/ui needs Radix-ui to work.
- Prisma and MySQL with Planetscale
- I'll always be against writing SQL manually. A person makes mistakes daily but those mistakes should never reach your Database. Prisma is an ORM (Object Relational Mapping) that works as a layer between your Frontend/Backend and your Database. All the SQL operations are Javascript/Typescript methods with great naming. You can basically type what you want and it will be a valid SQL operation.
- Next-Auth
- Authentication has never been easier than with Next-auth.
- Check all the other packages in the package.json file.
Core features
- FROM THE WEBSITE:
- Create a "Server" in the Database with the same ID as your Discord Server (required by the Discord Bot to work).
- Search for all the nades in all the servers you're a member.
- Search for all the nades in a specific server.
- Leave a server so you won't see the server's nades.
- AS SERVER ADMIN/OWNER:
- Manage the server nades (see all pending nades, approve nades, edit and delete them).
- Manage the server members (see all members, ban a member from searching your nades or unban a member, give/remove ADMIN role).
- Delete your server with all the nades.
- FROM A DISCORD SERVER:
- Upload nades only if you or the server owner created the "server" in the website previously.
- The Discord Bot is always checking in the shared database if the server he's working on exists.
- Search for a specific nade or nades that match your query (nade type, author, map, title or description).
- Upload nades only if you or the server owner created the "server" in the website previously.