next-competition-backend 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +56 -0
  2. package/package.json +17 -1
package/README.md ADDED
@@ -0,0 +1,56 @@
1
+ # This serves as the backend for competition / events related NEXT.js based website
2
+
3
+ ## Installation
4
+
5
+ ```
6
+ npx @alolgamerzz/setup-competition-BE
7
+ ```
8
+
9
+ ## Guide on Integrating
10
+
11
+ 1. Install and configure **`.env`**
12
+
13
+ 2. Configure **HTML email template** on `src/api/utils/sendEmail.ts`
14
+
15
+ 3. **Build FE** under `app/(app)` folder
16
+
17
+ ---
18
+
19
+ ### Template REPO
20
+
21
+ https://github.com/Troll321/next-competition-backend-template
22
+
23
+ ### Feature
24
+
25
+ - Verifying and reviewing
26
+ - File upload and payment
27
+ - Email
28
+ - Admin panel (for user managing and reviewing)
29
+ - Submission with level (e.g. preliminary, semifinal, ...)
30
+ - Extensible (could be extended to include new integration as wished)
31
+ - Flexible (could meet all of your constraints need)
32
+ - Customizable (easily customized from admin panel)
33
+ - Prebuilt FE implementation as example (`src/components/functional`)
34
+
35
+ ### Dependencies
36
+
37
+ - **3rd party integration**: Auth0, MongoDB, Supabase (PostgreSQL + Storage), Google Recaptcha, Google OAuth, Google SMTP, Payment
38
+ - **Extendable dependency**: Payment and Storage. By default this use IDRX and Supabase Storage
39
+ - **DO NOT CHANGE**: Auth0\*, MongoDB, and PostgreSQL (this is crucial for app)
40
+ - **On production**: Set rate limiting on domain hosting and set .env + 3rd party integration
41
+
42
+ \*Auth0 is crucial because by default the access control is based on Auth0 middleware. \
43
+ \*\*Key is based on email, thus Auth0 configured login method should always require email
44
+
45
+ #### Notes
46
+
47
+ - _Reserved path_: `/api/*`, `/app_api/*`, `/admin/*`, `/auth/*` should **NOT** be used.
48
+ - Set a few dummy data on the admin and see changes, by default the `/playground/integrated` assumes dummy data verifiable named: `profile` and `tim_paper` and submittable named: `paper_submission` (this is not mandatory)
49
+ - `profile` verifiable is created on login (see `src/api/authentication/loginHandler.ts`). \
50
+ This could be disabled or changed
51
+ - Implement custom `StorageAdapter` or `PaymentAdapter` class and add to adapters array `src/api/payment/server.ts` or `src/api/upload/server.ts`
52
+ - See `/agents` for further inquiry
53
+
54
+ ---
55
+
56
+ License: https://www.gnu.org/licenses/gpl-3.0.en.html
package/package.json CHANGED
@@ -1,10 +1,26 @@
1
1
  {
2
2
  "name": "next-competition-backend",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Setup basic BE for Next JS based competition website",
5
5
  "scripts": {},
6
6
  "author": "Troll321",
7
7
  "license": "ISC",
8
+ "homepage": "https://github.com/Troll321/next-competition-backend",
9
+ "repository": {
10
+ "url": "https://github.com/Troll321/next-competition-backend"
11
+ },
12
+ "keywords": [
13
+ "typescript",
14
+ "javascript",
15
+ "competition",
16
+ "backend",
17
+ "nextjs",
18
+ "next",
19
+ "template",
20
+ "event",
21
+ "events",
22
+ "website"
23
+ ],
8
24
  "bin": {
9
25
  "next-competition-backend": "setup.js"
10
26
  },