The idea behind crowdr is to serve as a Next.js playground to explore the new Next.js 13 features.
crowdr is a tool for tracking, managing, and viewing crowdfunding projects that users have supported. The application is built using Next.js and Prisma.
⚠ crowdr is a proof of concept.
I found the original inspiration in the FrontendMasters Next.js course by Scott Moss, but I significantly rewrote the code and changed the architeture to allow for testing.
Some of the changes include:
- strict type checking (TypeScript)
- architecture changes & refactoring
- unit testing with jest & testing library
- parallel data fetching for the home page with Suspense boundaries
- Alert & Modal Dialogs without external dependencies
- ability to add a reward to a project
- bug fixes and minimally adjusted styling
The logo comes from undraw. 🩷
You can check a running demo on Vercel.
Example User:
user@email.com
Example Password:
password12345
Ensure that you have the following installed on your local development machine:
- Node.js >= 12.x
- pnpm
- docker compose
First, clone the repository:
git clone https://github.com/sophiabrandt/crowdr.git
cd crowdr
Then, install the dependencies:
pnpm install
Copy the environment variables file (and add the correct values for your use caes):
cp env.example .env
Start docker container:
docker compose up
Run migrations:
pnpm exec prisma migrate dev
Seed:
pnpm exec prisma db seed
Finally, you can start the development server:
pnpm dev
The application should now be running at http://localhost:3000
.
This project uses Jest for testing. To run the tests:
pnpm test