Skip to content

Latest commit

 

History

History
73 lines (44 loc) · 3.81 KB

README.md

File metadata and controls

73 lines (44 loc) · 3.81 KB

Saplink 🌱

Saplink is an app for plant lovers to trade cuttings, seeds, and other garden materials.

Demo link:

In-progress. Check back June 2022.

Table of Content:

About The App

Saplink is a user-friendly React app designed to connect plant lovers with the common goal of growing one's plant collection through the trading of seeds, cuttings, and other gardening material. Saplink reminds users of the abundance of nature. There is enough to go around, and through community, we can grow together. Users can register, create ads, chat in real-time with other users, and make offers on ads.

GIFs

Form Validation with Authentication and Conditional Routing
Kapture 2022-05-16 at 13 52 45

Ad and live-chat feature -- data persistence is facilitated by Google Firestore
Kapture 2022-05-16 at 14 43 33

Technologies

I used ReactJS, sass, React-Redux, React-Router, JQuery, Google Firestore

Setup

This project was bootstrapped with Create React App.

Clone down this repository. You will need node and npm installed globally on your machine.

Installation:

npm install

To Run Test Suite:

npm test

To Start Server:

npm start

To Visit App:

localhost:3000

Status

Saplink is still in progress. Version 2 will integrate an updated chat UI and the trade feature will be completed. I will also add the ability to delete ads once items are no longer available. Additionally, I will add an API that will allow users to search for different plants and display care instructions.

Reflection

This was my capstone project for Ada Developers Academy. I set out to build a simple, intuitive SPA for plant lovers to trade and grow their plant collection. Users can make offers and chat in real-time with others. I spent several weeks formulating the project by creating wireframes, researching, making and updating a kanban board, deciding MVPs, attending daily standups with folks using a similar tech stack, coding, and refining the scope of the project.

Many MVPs took longer than anticipated, while others were surprisingly intuitive to implement. The hardest part was paring down the project since I had so many features I wanted to add. The chat functionality was challenging to implement. I ended up collaborating with a friend to get it working properly.

Throughout this project I learned that organization is key. I found that organzing all of the subtasks using a kanban board was extremely helpful. Although I did set timelines for various MVPs, it was important to be flexible and adapt when more research was needed, but ultimately I was able to get the project to have the core functionality I set out to accomplish within the allocated time. I wanted to use React because my understanding of using hooks and props was not solid before this project and this allowed me to spend extra time on these topics and gain a deeper understanding. While using Classes in React is considered somewhat outdated by some folks, I chose to use them in a few instances because my current position at Salesforce uses this syntax.

Credits

List of contributors:

License

MIT license