π An URL shortener. A simple and reliable solution for users + url shortening.
Important
π§ Work in progress
- Clone the repository
- Install dependencies
- Build and start π
# (1)
git clone https://github.com/kauefraga/zetashort.git
cd zetashort
# (2)
pnpm i --frozen-lockfile
# (3)
pnpm build
pnpm start
Here's a quick walkthrough:
Want to see a hello world?
> GET /v1
Want to create a user?
# body { username: string, password: string }
> POST /v1/users -> Token and expiresIn
Want to find a specific user?
> GET /v1/users/:userId -> User
> GET /v1/users/:username -> User
Want to list all the stored users? (authorization required)
# authorization: bearer {token}
> GET /v1/users -> Users list
Why did you choose node/typescript?
I choose node/typescript because i am familiar with it. Patterns, Node, Typescript, PNPM, Express, Prisma, etc. In the future, i may create some similar solution with Golang.
Which dbms did you choose? Why? Did you consider using NoSQL?
I also choose PostgreSQL (bitnami/postgresql) because of my familiarity with it. Sincerely, I didn't consider using a NoSQL database, but i would strongly recommend them because of their flexibility and performance.
Feel free to open an issue. I would love to read and fix the bugs you spotted.
If you want to contribute with your code, follow it:
- With the repository forked and cloned, start the development mode
- Develop something cool
- Open a pull request
# (1)
pnpm dev
This project is licensed under the MIT License - See the LICENSE for more information.