stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

Rural Coders Society

  • 10 Devlogs
  • 12 Total hours

I revamped the ruralcoderssociety.org nonprofit website to be fully on the React framework + use tailwind CSS
This was my first time using React for an actual project so there was a huge learning curve! I hope you like it!

Ship #1 ✨ Blessed

I made a revamped webpage for Rural Coders Society, a fiscally sponsored project under Hack Club! This was my first time using full blown React for an actual project, so there was a huge learning curve. But I’m really proud with how it turned out!

Challenges:

  • Using external libraries like NumberFlow and SplideJS for the first time (lots of documentation to read D:)
  • Gauging what I should make a component and what I should just put on the page
  • Making the card system modular (esp for different amounts of content and such) and streamlining the process of adding cards to the website
  • Using useState for the first (practical) time to make a navbar :0

What I’m proud of:

  • I’m proud that I overcame these challenges despite it being discouraging at times
  • How I was able successfully integrate external libraries and troubleshoot through card issues and being stubborn to not use AI to debug (it was tempting but I know I wouldn’t learn)
  • Using TailwindCSS for the first time and it’s actually so good I don’t think I can return to regular CSS anymore
  • I’m glad I was able to reference other sites on the web and somewhat replicate it with react and tailwind with my own creativity on my own page
  • Using and understanding how to use react routes and Link elements

You can check the page out at www.ruralcoderssociety.org! Thanks for reading :))))

  • 10 devlogs
  • 12h
  • 17.99x multiplier
  • 252 Stardust
Try project → See source code →
Open comments for this post

1h 42m 21s logged

FINISHED THE SITE!!

I added mobile compatibility
The site was looking really good until someone looked on it on their phone or something other than a desktop, so this was the final element to ship it!

No more fixed widths

The fixed widths, I found, were the culprit for all the breaking when the website was viewed in other dimensions, so I made use of sm:some property and md:some property and lg:some property in tailwind and also w-full and max-w-some number to make the cards flexible depending on the dimensions it’s viewed from

NAVBAR

I’m really proud of this because I used useState for the first time on an actual website to create the hamburger navigation thing. It opens like a set of links if you click it and the text changes from a three-line hamburger thing to an x. useState is actually amazing so many use cases

Challenges

The main challenge was just tweaking what text/font sizes should go with sm/md/lg displays–just a lot of trial and error
Another challenge was making the hamburger opening look good because the background was only coloring to the height of the navbar,, I realized that I needed to move the appearing navigation outside of the navbar and it worked wonders

Future additions

Just if the nonprofit gets more metrics or after outreach initiatives it’s apparent we’re missing some important content. but it’s done and I’m going to ship this!!

0
0
2
Open comments for this post

1h 10m 2s logged

Finished About Me Page + program page struggles

Finished the about me!

It’ s a simple about me page; I got inspiration from other NPO about me pages online!

Program Page work in progress

I’m trying to use the same components across two pages for information cards on the programs we do, but the cards need to be two different heights. I’ve been hacking at this for a while but I’m going to rest before I try resolving this problem again :’)))))
(as you can see the images go off the cards for this second component. I want each card to be a standardized height but differ across pages. gl to me in the future lol)

Future additions

After I finish adjusting these card heights, my website will be finished! I just need to hook it to our website domain and replace our outdated website!! yayyy

0
0
9
Open comments for this post

2h 30m 12s logged

Added project carousel!

React component

I used React to make a reusable image carousel thing where you can pass an array of photos as an argument and it will put it into the the SplideJS slides

Used SplideJS again

Added a featured projects carousel that has some cool projects that our Code Without Borders Bootcamp participants made!!
Added arrows to the carousel too

Tailwind

Added a gradient background for aesthetic purposes :)

Challenges

I generally had a hard time figuring out how to style the features component–it was really looking rough to start with but we landed on something 😭 I think the gradient helped a lot

Additional information

  • I also tweaked styling for the rest of the webpage
  • I added some join buttons and linked the donation page
  • Updated the impact numbers

Future additions

  • About to add the proper join form and also get started on the about us page :D
0
0
12
Open comments for this post

1h 7m 32s logged

Added footer + more

I added a footer to the home page to make it feel more complete

Number animations

now the number statistics animate when you scroll upon them. so i attached a video to show u what that looks like. I used the NumberFlow React library–it was pretty intuitive itself but then i had to use useState, useEffect, and useRef hooks and understand how to use those and how to defer the useEffect until the window detects it 😭 😭 u can do it with the native .getBoundingClientRect tho and u have to do it to an element you want to be the trigger, in my case i made the card the trigger, so if it shows then the animation will happen. and then make sure it’s less than window.innerHeight and element’s position.bottom must be greater than 0, which means that the element is below the top edge of ur screen
holy yap but this is how i teach myself bc that was something new for me 😭

0
0
2
Open comments for this post

38m 30s logged

Added card types and prop types to specify the kind of card design you want

I added different card types, and so now you can switch between them. So CardGrid is extra reusable LOL
This is through capitalized variables that I just learned! I could work logic between choosing components using a capitalized variable (yk the one that uses PascalCase)

0
0
6
Open comments for this post

23m 32s logged

Reworked some card grid component logic

I heard it’s better to create an array of the props rather than an array of the cards, so after struggling a bit I got to do it the conventional way with array mapping!
Not entirely sure what the individual mapping keys are for but I will look more deeply into that. It says online that you have to keep keys stable so that React knows which item you’re referencing but don’t totally understand why it would need to know that lol

0
0
3
Open comments for this post

52m 26s logged

Card Component + Card Grid

Both are reusable!

Card Component

I create InfoCard.jsx component which makes these light blue cards. I used props for the first time, so you can pass in an argument making these components completely reusable across the platform!

Card Grid

I created an array of cards and then passed them through the Card Grid. I made it so that the cols prop you pass in leads to the amount of columns created with Tailwind CSS by assigning 1 to “grid-col-1” etc etc in an object and then using that for part of the Tailwind CSS for the Card Grid. super simple logic but im still proud nevertheless LOL

0
0
2
Open comments for this post

1h 20m 41s logged

I implemented Splide JS into the website so it could create this photo gallery carousel!! i’m so proud of it! and the syntax for Splide was surprisingly easy and intuitive–I followed a tutorial on Medium to understand how to use it. The home page is already looking more polished.

0
0
1
Open comments for this post

1h 3m 38s logged

Added a hero to the website. It’s currently a placeholder, I’m working on a swiping photo gallery as the hero. I also styled everything with tailwind-css because I’m trying to get used to it.

0
0
1
Open comments for this post

52m 4s logged

Why is react so painful? anyhow I made a router without styling yet with react-router-dom and so yeah that’s progress :’). I’m getting used to the react-router-dom way of things and having to configure main.jsx and stuff it’s so painful LOL

0
0
1

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…