Check it out, here’s the readme for the devs. If you’re a player, be sure to drop by todo.com!
The project is still under development, the first demo version will appear in the near future
This is an attempt at a full stack project.
This is also a web game attempt without using Canvas.
I sincerely hope that you can participate in it, players feel the fun of the game, and developers participate in open source development.
Using MongoDb Altas for database support
-
I find it tricky to keep the name in package.json and PROJECT_NAME in .env in sync. So whenever you change one, make sure to update the other two. Of course, I'm thinking of using a script to get this done.
-
some variables need to be set:
Here, I have utilized Ali’s email campaign service and OSS object storage service.
- .env.server
name | description | example |
---|---|---|
SMTP_HOST | email smtp host | smtpdm.aliyun.com |
SMTP_PORT | email smtp port | 25 |
SMTP_USER | email smtp username | [email protected] |
SMTP_PASSWORD | email smtp password | xxxx |
JWT_SECRET | jwt secret | a string |
- To save Git space, I have hidden most of the image resources. If you need access to these resources, please contact me at [email protected].
Design user permissions using CASL.
Before we begin, please generate the interface API by running the command
pnpm esno:api
after starting the server.
The client includes two important routes: one for game-related content and the other for backend management.
Since English is not my native language, there might be errors in the English i18n translations. Feel free to point them out and submit a pull request (PR) to correct them.
This is a component, but shared globally.
Inspired by nextjs and nuxt.js
Only allow login through email code authentication or third-party login (try to adapt to as many third-party platforms as possible).
It also includes some common pages.
Use Vitest to test all content.
Have a globally shared code snippet (composables)