Skip to content
View sosise's full-sized avatar

Block or report sosise

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
sosise/README.md

Sosise Framework πŸš€

Sosise is an elegant, expressive, and feature-rich web application framework for Node.js β€” inspired by Laravel. It provides a powerful boilerplate and tools to help you build modern, maintainable applications with ease.

Documentation npm License

GitHub stars

πŸ“‘ Table of Contents

⚑ Features

  • 🌐 Expressive Routing & Middleware β€” Intuitive API powered by Express.js.
  • πŸ—„οΈ Database Migrations & Seeders β€” Built-in support using Knex.js for multiple SQL engines.
  • 🧩 IoC Container & Service Providers β€” Manage dependencies with ease.
  • βš™οΈ Rich Configuration β€” Session, cache, queue, mailer, logging, and more out of the box.
  • πŸ”„ Background Queues β€” BullMQ-based job queues for asynchronous processing.
  • πŸ“– Documentation Generator β€” Integrated support for Docsify documentation.
  • πŸ§ͺ Testing Environment β€” Pre-configured testing setup with unit and feature tests.
  • πŸ‹ Docker Support β€” Official Docker image and Docker Compose files.

πŸš€ Getting Started

🎬 Install the CLI tool and scaffold a new project:

npm install -g sosise-cli
sosise new my-app
cd my-app
npm install
npm run start

πŸŽ‰ You now have a fully configured Sosise application up and running.

πŸ—‚οΈ Project Structure

my-app/
β”œβ”€β”€ app/                # Application source code (controllers, services, console commands, etc.)
β”œβ”€β”€ config/             # Configuration files (database, cache, mail, queue, session, etc.)
β”œβ”€β”€ database/           # Migrations & seeders
β”œβ”€β”€ docs/               # Documentation (Docsify)
β”œβ”€β”€ docker/             # Docker build files & scripts
β”œβ”€β”€ public/             # Public assets
β”œβ”€β”€ resources/          # Views & frontend assets
└── src/                # Framework core (auto-generated)

For a deeper dive into the directory layout, see the Directory Structure guide.

πŸ”‘ Key Concepts

🌐 Routing & Controllers

Define clean, expressive routes in src/routes:

router.get('/', (request: Request, response: Response, next: NextFunction) => {
    indexController.index(request, response, next);
});

πŸ—„οΈ Database & ORM

Use Knex.js for migrations and fluent query building:

# Create a new migration
npm run migrate:make create_users_table
npm run migrate

⚑ Caching & Sessions

Configure cache and session in config/cache.ts and config/session.ts respectively.

πŸ“§ Mail & Logging

Send emails via the built-in mailer and configure logging channels in config/mailer.ts and config/logging.ts.

🎯 Queues & Workers

Define background jobs using BullMQ in app/Console/QueueWorkers.

🐳 Docker Support

🐳 Build and run with Docker:

./build-docker-image.sh
docker-compose up

Ensure your .env and cron files are present for proper operation inside containers.

πŸ“š Documentation

πŸ”— Full documentation and API reference are available at:

πŸ”— https://sosise.github.io/sosise-docs

🀝 Contributing

Contributions, issues, and feature requests are welcome!
Feel free to open an issue or submit a pull request on the GitHub repository.

πŸ“„ License

MIT Β© Sosise Contributors

Popular repositories Loading

  1. sosise-core sosise-core Public

    TypeScript 6 2

  2. sosise sosise Public

    TypeScript 4 1

  3. sosise-docs sosise-docs Public

    HTML 3 1

  4. sosise-cli sosise-cli Public

    TypeScript 2

  5. collect.js collect.js Public

    Forked from ecrmnn/collect.js

    πŸ’Ž Β Convenient and dependency free wrapper for working with arrays and objects

    JavaScript