The Technica platform is an open-source and easy to use online platform for hackathons to use, built with the COVID-19 pandemic in mind.
Exact installation details are in the next section, but the whole platform uses Node.js. To use the platform for your hackathon, you'll need an AWS account.
The platform's backend uses AWS Lambda and DynamoDB, with the deployment being handled by Serverless.
The platform's frontend uses Vue.js, and is deployed as a static site onto AWS S3. CDN hosting is handled by AWS CloudFront.
To run the frontend on your local machine:
- In the
frontend
directory of this repo, run the following:npm i
- Run
npm run serve
to build and locally host the frontend web app
cd frontend
npm i
npm run serve
Each folder in backend
contains a "service" of the platform's backend.
To develop or use any given service, you'll need to be in the service's folder. (i.e. backend/teams
or backend/users
)
First, set your AWS credentials in your terminal for serverless to use:
NOTE: Please be very careful with these keys - treat them like your social security number. Never commit them publicly to Github or share with anyone else.
For Linux/OSX:
export AWS_ACCESS_KEY_ID=<your-key-here>
export AWS_SECRET_ACCESS_KEY=<your-secret-key-here>
For Windows:
set AWS_ACCESS_KEY_ID=<your-key-here>
set AWS_SECRET_ACCESS_KEY=<your-secret-key-here>
Next, install the service's dependencies with npm i
.
You're good to go! Here are some useful commands:
I want to | command |
---|---|
Deploy the service to AWS | sls deploy [-s <STAGE>] |
Test the service | sls invoke test |
Invoke the service | sls invoke -f <FUNCTION> -d <data> |
This list is probably not exhaustive, so Serverless' documentation should come in handy.
The project is currently under development and open-source support is not currently a top priority (it will be once the platform has been finished). However, feel free to contact [email protected] with anything!