API for StartedInCroatia [Github - Frontend].
Started in Croatia.
Open-Source.
- TypeScript
- Koa.js
- Database: MongoDB: Mongoose
- Config: Dotenv, Joi
- Testing: Jest: SuperTest, MongoDBMemoryServer
- Docker: MongoDB
- 🥰 Link CRUD
- 🔐 JWT auth for Admin actions
Docker
Runs MongoDB
container.
cd docker
cp .env.example .env
docker-compose up -d
Application
# Return to root
cd ..
cp .env.example .env
npm i
npm run dev
Using Jest
Testing Framework.
Jest uses SuperTest
and MongoDBMemoryServer
.
npm run test
Check out Postman Documentation.
Pre-set environment variables:
host
admin_password
Dynamic environment variables, automatically set in tests:
access_token
Few routes are protected with jwtCheck
middleware.
Requests going to these routes require Authorization: Bearer {token}
header.
Protected Routes
- [Link][update,delete]
Getting access token
Endpoint: POST /auth/token
.
Body: { password: ADMIN_PASSWORD }
.
Admin password
ADMIN_PASSWORD
is defined in .env
file.
It defaults to secret
.
Written in TypeScript
,
using Vue.js
and Vuetify
.
Join the open-source development - Github - StartedInCroatia - Frontend.
Check the live version at startedincroatia.com.