Built with ARCH Framework
The "ARCH FRAMEWORK" is a modern web development stack made by TheIceJi focused on modularity, scalability, and full-stack typesafety. It consists of:
- TypeScript
- Next.js (App directory)
- Tailwind CSS
- tRPC
- Prisma
- MongoDB
- NextAuth.js
- AWS-S3
Optionals:
- S3 is turned off by default to avoid errors when creating an S3 client without environment variables. Enable it by uncommenting the relevant lines in
server/plugins/trpc/trpc.context.tsandserver/interfaces/trpc/trpc.caller.ts. - Frontend pages live in
src/app. - The
globaldirectory contains store, environment config, and general app settings. - All backend logic resides in the
serverfolder, connect with NextJs by tRPC interface.
- Go to the Releases tab and download the latest release.
- Extract it into your project directory.
- Clone the main repository:
git clone https://github.com/Nexel-Lab/Arch-Framework
- Navigate to the app root folder:
cd <app_name>
- Clone the core module:
git clone https://github.com/Nexel-Lab/Arch-Core arch/core
- Copy the environment template:
mv .env-example .env
- Add the required environment variable:
(Other variables in
MONGODB_URI=<your_mongodb_uri>
.envare optional)
-
Install dependencies:
bun install # or yarn install -
Generate database client:
bun db:gen # or yarn db:gen -
(Recommended) Install the Todo Tree VSCode extension to track areas needing updates.
-
Start the development server:
bun dev # or yarn devApp runs at http://localhost:8080
bun deploy
# or
yarn yarn:deploy-
Update app details:
global/config/app.ts→ App nameglobal/config/meta/data.ts→ SEO metadataglobal/config/contacts.ts→ Contact infosrc/app/sitemap.ts→ Base URL for sitemap
-
Configure layout:
src/layouts/_controllers/controllers.tsx→ Global UI controllers
-
Optional:
- Update
global/env.tsafter adding/removing packages or modules - Enable S3 in the tRPC context
- Update