HackTheLab REST API

Author

Ryan Vreeke

Date Published

Backend Application,ย  Full-Stack Application
HackTheLab API Image

๐ŸŒŸ Overview

The HackTheLab Hackathon REST API was created for a hackathon event where participants interacted with a RESTful API to navigate a rat through a maze, collect cheese, and find the exit. The project was divided into three main components:

โ€ข ๐Ÿ–ฅ๏ธ Frontend: Built using React, HTML, CSS, and TypeScript for an intuitive user interface.

โ€ข ๐Ÿ—‚๏ธ Backend: Developed with TypeScript, Node.js, and Express.js to handle API requests, authentication, and game logic.

โ€ข ๐ŸŽฎ Simulation: Created using Unity to visualize the ratโ€™s movement in the maze.

The hackathon was held at Michigan Software Labs as a learning experience for Computer Science students. I helped facilitate the event by explaining API interaction, guiding participants through the challenge, and ensuring an engaging and educational experience. It was exciting to plan, build, and host this event while learning alongside the participants.

๐Ÿ’ช Work I Did on the Project

โ€ข ๐Ÿ”— Developed RESTful API Endpoints & Authentication

Designed and implemented API routes that allowed users to control the ratโ€™s movement, collect cheese, and find the maze exit, while securing access through authentication.

โ€ข ๐Ÿ— Built the Backend Infrastructure

Developed controllers, middleware/interceptors, and services to support smooth API interactions and maintain structured backend architecture.

โ€ข ๐Ÿ—„ Managed Database & Game Logic

Implemented database management for storing game states, user progress, and session data, while also developing game logic for API endpoints to handle rat movement, cheese collection, and maze completion.

โ€ข ๐Ÿ“œ Created API Documentation with Swagger

Used Swagger to document API endpoints, making it easy for hackathon participants to understand how to interact with the backend.

โ€ข ๐Ÿ… Helped Organize & Administer the Hackathon Event

Facilitated the hackathon by assisting students, explaining competition rules, and troubleshooting technical issues, ensuring a successful and educational event.

๐Ÿ›  Technologies Used

Node.js | JavaScript runtime for server-side development

Express.js | Backend framework for handling API requests

TypeScript | Strongly typed JavaScript for scalable code

Docker | Containerization for easy deployment

Redis | In-memory database for fast data access

Postman | API testing and development tool

Swagger | API documentation for better usability

๐Ÿ’ป GitHub Repositories

Check out the source code for the project:

HackTheLab Backend Repository
HackTheLab Frontend Repository
HackTheLab Simulation Repository