Skip to content

Want to find new hobbies and share your activities with the world? You've come to the ideal place!

License

Notifications You must be signed in to change notification settings

franciscoluna-28/hobby-explore

Repository files navigation

Hobby Explore

Hobby Explore is a modern social media application that allow users to find new hobbies and share their favorite activities with people. Inspired by Instagram and The Bored API.

Features

  • Light/dark mode toggle 🕯
  • Create activities 🦌
  • Delete activities from your own user ❌
  • Profile customization 💅
  • Filter activities using categories 🏷
  • Bookmark activities ✈
  • Rate activities 🌟
  • Preview activities dynamically 👁

Tech Stack

Client: Next.js, React, ShadncUI, Zod, React Testing Library, Radix UI, Typescript

Server: Supabase, PostgreSQL, Typescript, Next.js

Run Locally

To run the project locally you'll need to clone it using the following command:

  git clone https://github.com/franciscoluna-28/hobby-explore

Go to the project directory

  cd hobby-explore

Install dependencies

  npm install

Start the server

  npm run dev

Running Tests

To run the test with Vitest use the following command:

  npm run test

Screenshots

App Screenshot 1 App Screenshot 2 App Screenshot 3 App Screenshot 4

Demo

You can test the application in the following link: https://hobby-explore.vercel.app/

Feedback

If you have any feedback, please reach out to me at franciscoluna2004@gmail.com

Lessons Learned

As a Software Developer Hobby Explore was the hardest project to finish I've ever built and as a finished MVP I've learned valuable lessons:

  • Plan your projects ahead. Take time to plan each feature, your folder structure and what kind of architecture is suitable for the project you're building.

  • Always start with a basic functionality. I decided to start with the backend with this project and it was one of the best decisions I made. Focus on delivering a small functionality in your backend first to test it properly and then integrate it with your frontend.

  • Write tests. Yes, I used to think tests weren't really useful until I faced different problems and edge cases in this project. I learned to use React Testing Library with Vitest to test both my React components and backend code to save time and make sure I'm delivering a high quality product.

  • Trust your ideas. Yes. I made several failed versions of this application. After 5 failed versions I got this one right and it took me months almost 4 months to finish this idea properly. Considering I was doing both my community service and doing my college thesis at the same time I was working on this project, I consider I did a great job. Don't give up on your ideas and give them time.

FAQ

Can I use this project for learning purposes?

Definitely! One of the main reasons I'm making this project public on my Github is to share my experience in React with other developers. However, you're not able to share monetized versions of this project.

Are you accepting collaborators for this project?

Not right now. However, you can share your ideas and suggestions with me for this project.

Will you be adding new functionalities and updating the application?

Yes! There are already new features planned to add to the application. I want to see how the application performs to further improve the MVP.

About

Want to find new hobbies and share your activities with the world? You've come to the ideal place!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published