Townhub is a web-app that allows any newcomers, locals or visitors to a town to find resources for that town.
Modules/features:
- Shuttles: A way for users to see the timetable of the town shuttle in a more visual way overlaid on top of a map.
- Upcoming Communities: a way for users to see a list of all local communities to join
- Upcoming Vendors: a way for users to see a list of all local artisans and their products
Current towns:
- Fernie
- Revelstoke
- If you think your town needs this, contact me or add a github issue to add your town in.
Outside of helping its users to find and locate things, Townhub is an open-sourced project to allow other people to see how a TypeScript Serverless app can be architected. I am taking some of my learnings from my full-time work building enterprise and consumer apps into Townhub. If you have any questions on how I do certain things here and my reasonings behind it, feel free to message me or create a Github issue. I can maybe do a blog-post explaining more in detail.
Name | Purpose |
---|---|
Serverless Framework | Easier to deploy Lambda functions |
AWS CDK | To deploy other infrastructures that are not related to Lambda, eventually might change to use Terraform or the Terraform CDK |
SST | To combine Serverless Framework and AWS CDK nicer |
Lerna | To manage monorepo |
Yarn | As a package manager (and workspaces for monorepo) |
TypeScript | Main programming language |
Prettier | Keep our code pretty |
React | For frontend code |