Getting Started with secad
secad (a corporate secreterial and administrative helper) is designed to be a comprehensive web application for managing backend corporate compliance.
What secad does
secad helps manage the following across multiple entities:
- Securities: Manage different classes of securities (shares, units, etc.)
- Transactions: Handle various transaction types including:
- Issue of new securities
- Transfers between members
- Redemptions and cancellations
- Capital calls and returns
- Resolutions: Record and track corporate resolutions and decisions
- Associates: Manage relationships between entities and their associates
- Certificates: Generate professional PDF certificates on-demand
Quick Setup
Prerequisites
- Node.js version 20.0 or above
- PostgreSQL database
- Yarn package manager
Installation
- Clone the repository:
git clone git@github.com:quelixir/secad.git
cd secad
- Install dependencies:
yarn install
- Set up environment:
cp .env.example .env
Then edit the .env
file and replace the placeholder values with your actual configuration.
- Set up the database:
npx prisma migrate dev --name init
- Seed with demo data:
yarn seed:demo
- Start the development server:
yarn dev
The application will be available at http://localhost:3000.
Tech Stack
secad is built with modern web technologies:
- Frontend: Next.js 15, React 19, TypeScript
- UI: Tailwind CSS, Radix UI components
- Backend: Next.js API routes, tRPC
- Database: PostgreSQL with Prisma ORM
- Authentication: Better Auth
- PDF Generation: Puppeteer
- Testing: Jest, React Testing Library
Testing
Run the test suite:
yarn test
# or
yarn test:watch
# or
yarn test:coverage
License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).