Skip to main content

Getting started

This guide will help you set up Concordia on your local machine for development.

Prerequisites

Before you begin, ensure you have:
  • Node.js 18+ installed
  • PostgreSQL 14+ running locally or access to a PostgreSQL database
  • A package manager (npm, pnpm, or yarn)

Installation

1

Clone the repository

Clone the Concordia repository to your local machine:
2

Install dependencies

Install the required packages using your preferred package manager:
3

Configure environment variables

Create a .env file in the root directory by copying the example file:
Update the .env file with your configuration:
Generate a secure BETTER_AUTH_SECRET using: openssl rand -base64 32
4

Set up the database

Create your PostgreSQL database and run migrations:
The migrations will create all necessary tables including:
  • Authentication tables (user, session, account, verification)
  • Profile and role management
  • Blog system (posts, authors, categories, translations)
  • Organization management
  • Audit logging
5

Start the development server

Launch the Astro development server:
The application will be available at http://localhost:4321

Available scripts

Concordia includes several useful npm scripts for development:

Development

Database management

Testing

Utilities

Verify installation

After setup, verify everything is working:
  1. Check the homepage: Navigate to http://localhost:4321 and verify the site loads
  2. Test authentication: Try signing up at http://localhost:4321/en/auth/sign-up
  3. Check database: Verify tables were created successfully:
  4. Run tests: Execute the test suite to ensure everything passes:

Multi-language support

Concordia supports four languages out of the box:
  • French (fr) - Default language
  • English (en)
  • Arabic (ar) - Right-to-left (RTL) support
  • Spanish (es)
Access different language versions via URL paths:
  • http://localhost:4321/fr/ (French)
  • http://localhost:4321/en/ (English)
  • http://localhost:4321/ar/ (Arabic - RTL)
  • http://localhost:4321/es/ (Spanish)

Project structure

Next steps

Explore features

Learn about all the platform capabilities and how they work together.

Database schema

Understand the database structure and relationships.
Need help? Check the comprehensive test suite in tests/ for examples of how different features work.