I'm currently evaluating another alternatives to Gfycat, but it will take some time.
- Typescript
- Javascript superset that makes it actually safe (and kinda fun π) to use.
- Nextjs
- Next is the Javascript/React framework that I chose for this project, since it's currently the one that interests me the most and fits my needs.
- tRPC
- I used tRPC instead of something like Express or GraphQL, mainly because I really like the t3 stack.
- Chakra UI.
- I chose to use a Component Library like Chakra UI because it allowed me to be more focused on my code, instead of styling. It increased my development time, and it's the one that I find more easy to customize if I need to.
- Chakra needs Framer-motion to work
- Prisma and MySQL with Planetscale
- I really wanted to try something differente than MongoDB or Firebase, basically I wanted to give relational databases a try. Also, giving the nature of my project (having users, letting users upload stuff, etc), a document-based approach in my database would've been a nightmare to work with.
- Next-Auth
- Authentication has never been easier than with Next-auth.
This project uses either yarn or npm as dependency/package manager. You should have npm installed if you already have Node. If you choose to use yarn, run the next command to install it:
npm i -g yarn
Clone the project:
git clone git@github.com:enzom-uy/mylo.git
Go to the project directory:
cd mylo
Install dependencies:
# with yarn:
yarn
# with npm:
npm install
Start the development server:
# with yarn:
yarn start
# with npm:
npm start
You'll need to declare some env variables if you actually want it to work.