Getting Started - agoenks29D/exzly GitHub Wiki

๐Ÿš€ Getting Started

Welcome to Exzly!
This guide walks you through setting up and running Exzly locally. Whether you're building an internal tool, admin dashboard, or custom backend, Exzly gives you a production-ready foundation โ€” fast. ๐Ÿ—๏ธ


๐Ÿงฐ Requirements

Before you begin, ensure your environment meets the following:

  • โœ… Node.js v20+
  • โœ… npm v10+
  • โœ… MySQL (or compatible: MariaDB, etc.)

Optional (Recommended)

  • ๐Ÿงช Postman โ€“ for testing API endpoints
  • ๐Ÿ” PM2 โ€“ for managing the app in production
  • ๐Ÿ” Nginx & SSL โ€“ for production-ready reverse proxy

๐Ÿ“ฆ Installation Steps

1. Clone the Repository

git clone https://github.com/agoenks29D/exzly.git
cd exzly

2. Install Dependencies

npm install

3. Setup Environment Variables

Copy and customize the environment configuration:

cp .env.example .env

๐Ÿ“Œ Don't forget to set your DB credentials, JWT secret, and any other relevant values.

For full environment variable reference, see: README โ†’ Environment Setup

๐Ÿงฌ Database Setup

Create a new database (e.g., exzly_production) via your DB client or CLI.

Then run the following command to migrate and seed demo data:

npm run db:demo

Or, for production:

npm run db:start

You can also use sequelize-cli to run specific migrations or seeders manually. See the Migration and Seeder section for more details.

โ–ถ๏ธ Running the App

Development Mode (with Hot Reload):

npm run start:dev

Production Mode:

npm start

Once running, open your browser at http://localhost:3000

๐Ÿงช Run Tests

To ensure everything is working as expected, run the test suite:

npm test

Or with coverage report:

npm run test:cov

If needed, set up the test DB with:

npm run db:test

๐Ÿ› ๏ธ Enable Extra Features (Optional)

Want to enhance your project with more features? Just check out the Feature Branches page to learn how to add:

  • ๐Ÿ“ Blog module
  • ๐Ÿ” OAuth integrations
  • ๐Ÿ”” Push Notifications
  • ๐Ÿ“ฆ Object storage (S3, MinIO), and more

Feature integration is as simple as:

git fetch origin feature/your-feature
git merge origin/feature/your-feature

๐Ÿ†˜ Need Help?

You're not alone. If you get stuck: