Ever googled Side project ideas
, beginner app ideas
or some other version of those? Yeah, me too...
In fact this project come about because yet again I could not think of a project idea to build.
Well no more! BuidlIt is here.
What's with Buidl?
Buidl is pretty common in the web3 space, which is where I spend a lot of my time, plus good luck finding a build-it domain for under 5 figures...
BuidlIt has a React frontend, styled with Chakra UI and uses Apollo Client v3 for managing all state and bits and pieces on the client.
I decided to use a graphql api, again leveraging apollo and nexus and it is in full typescript, which just makes developing a breeze. I should have definitely stuck with TS for the frontend too.
This is still very much a WIP and still in active development. Right now it has a very limited feature set, but, ship early and often they say!
Unauthenticated users can simply view all project ideas on the home page. At the moment each project is made up like so:
Difficulty (on of beginner, intermediate or advanced)
Title (required)
Description (required)
User stories (required)
Authenticated users can hit the /my-projects
route and then have the ability to add project ideas. Once added the route will show any projects you have created and offer the option to delete.
Lots! I have a bunch of ideas and am all ears for anything else people would like to see. Here is some features I have in mind:
- Authenticated users should be able to edit their projects
- Any user should be able to upvote a project
Each project should have a difficulty rating๐ซ- Sorting of projects by date added, upvotes
- Filtering of projects by difficulty
This started as a weekend project to get back in touch with the backend and building APIs after mostly focussing on the client side for the past few years. I really enjoyed getting my hands dirty there again, so have decided to put a bit more time into this and build out some more of the features above.
I want to continue the learning experience so I also plan to do some/all of the following:
- Migrate client to Typescript
- Tests