Introduction
Arkos.js is a fast and lightweight framework for quickly building secure and scalable Node.js server-side RESTful applications. It uses progressive JavaScript (just like NestJS), backed with and have full support for TypeScript (but still allows developers to code using vanilla JavaScript). It combines the world 2 most used programming paradigms FP (Functional Programming) and OOP (Object Oriented Programming).
Behind the scenes, Arkos uses the undisputed and most used JavaScript Server-Side Framework Express altogether with most modern and type-safe ORM Prisma for database integration.
Arkos introduces a new way of developing RESTful APIs in JavaScript world, by combining Node.js most used framework (Express), Prisma ORM for database management and the modular architecture from NestJS, for creating a level of abstraction of well estabilished and standardized RESTful APIs principles and offering many tools out of the box just like like Django in Python and Laravel in PHP.
Even though Arkos creates a level of abstraction on top of Express and Prisma, it still allows developers to fully access their APIs directly and write plain Express or Prisma code as needed. This gives developers to leverage all of what Arkos offers out of the box while still be able to everything they can do with pure Express and Prisma.
Philosophy
For long years, thanks to Ryan Dahl building Node.js, JavaScript has become almost the default language on the web both for Client-Side and Server-Side Applications. Then we watched Client-Side frameworks like Angular, React, Vue and others, and also the rise of JavaScript Server-Side frameworks suchs as Express and Fastify all minimalistics. Time went by and we saw the rise of frameworks just like NestJS and AdonisJS trying to improve the experience of the development of JavaScript Server-Side applications.
Although both successed very well on their own focused niches Nest with strong OOP and Angular like experience and Adonis with the Fullstack MVC vision just like PHP, Arkos.js introduces a different proposal for RESTful APIs by Safeguarding ExpressJS Paradigms and Enhacing Developer Experience by providing a lot of common tools that developers have been creating from scratch, simply out of the box and letting them to still write any type of code they write when using Express, despite Arkos.js tools and focus on RESTful APIs.
Why Prisma ORM
On the past Uanela Como (The creator) initially favored Mongoose ORM and became skeptical when first encountering Prisma's different approach. However, deeper exploration revealed Prisma's key strengths: superior separation of concerns, type safety, and intuitive querying that focuses on what an ORM should excel at.
Rather than building a custom ORM, Arkos.js strategically integrates with Prisma - one of the most modern and widely adopted ORMs in JavaScript. Combined with Arkos.js's BaseService Class, this creates what Uanela describes as "an unmatched Prisma integration" that enhances established tools while adding enterprise-level patterns for RESTful API development.
Key Features Overview
1. Automatic RESTful Endpoints Generation - Generate complete CRUD operations for Prisma models with zero boilerplate code and full customize the whole flow using interceptor middlewares.
2. Built-in Authentication System - JWT-based auth with user management, password hashing, and role-based access control.
3. Enterprise-Grade Middlewares - Security headers, CORS, compression, request parsing, and error handling pre-configured.
4. Type-Safe Data Validation - Automatic request/response validation using Class-Validator or Zod with TypeScript and JavaScript integration.
5. Advanced File Management - Easy file uploads with different file type processing and image optimization.
6. Email Service Tool - Quickly send emails with minimal configuration, using for favorite Node.js mailing tool Nodemailer.
7. Performance Optimization - Built-in caching, rate limiting, and database query optimization with prisma.
8. Developer Experience - Auto-generated Swagger docs, structured logging, hot reload, and comprehensive CLI tools for scaffolding and creating components like controllers, routers, services and many more.
Quickly Scaffolding
- npm
- pnpm
- deno
- bun
npm create arkos@latest my-first-project
pnpm create arkos@latest my-first-project
deno run -A npm:create-arkos@latest my-first-project
bunx create-arkos@latest my-first-projec
Next Steps
- Getting Started - Set up your first Arkos project
- Project Structure - See the the Arkos project structure
- How Does It Works - Learn about Arkos behind the scene work
The name "Arkos" comes from the Greek word "ἀρχή" (Arkhē), meaning "beginning" or "foundation". This reflects our goal of providing a solid foundation for backend development.