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.
- 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 👁
Client: Next.js, React, ShadncUI, Zod, React Testing Library, Radix UI, Typescript
Server: Supabase, PostgreSQL, Typescript, Next.js
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
To run the test with Vitest use the following command:
npm run test
You can test the application in the following link: https://hobby-explore.vercel.app/
If you have any feedback, please reach out to me at franciscoluna2004@gmail.com
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.
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.
Not right now. However, you can share your ideas and suggestions with me for this project.
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.