This repo hosts the code for the Flagsy API. Flagsy is a simple and user-friendly feature flag management application. UI is build using Angular, more details here: https://github.com/adisreyaj/flagsy
- Fastify JS (https://fastify.dev/)
- TypeScript (https://www.typescriptlang.org/)
- Prisma (https://www.prisma.io/)
- MySQL (https://www.mysql.com/)
- Clone the repo
- Run
npm install
- Create a
.env
file and add the following:
NODE_ENV=development
PORT=3000
DATABASE_URL=mysql://root:password@localhost:3306/flagsy
JWT_SECRET=secret
COOKIE_SECRET=secret
# For Grafana Loki
LOKI_URL=https://<instance>.grafana.net
LOKI_USERNAME=<username>
LOKI_TOKEN=<token>
- Ready the database
prisma:migrate:dev
- Start the application
npm run dev
- Cors support
- Authentication (Cookie based)
- Authorization
- RBAC with roles and permissions
- Zod for schema validation
- Grafana Loki for logging
/auth
- Authentication routes/users
- User routes/projects
- Project routes/environments
- Environment routes/features
- Feature routes/changelog
- Changelog routes
/routes
- Contains all the routes/handlers
- Contains the route handlers
See the open issues for a list of proposed features (and known issues).
Distributed under the MIT License. See LICENSE
for more information.
Please ⭐️ this repository if this project helped you!