Skip to content

sarakane/capstone

Repository files navigation

Resourcey

Capstone project for Epicodus, Initialized: 2020.09.25, Last Updated: 2021.01.15

By Sara Kane

Description

The goal of Resourcey is to provide a space for users to store and share online resources they have found helpful for learning a topic and share those resources with others.

Users are able to create a resource library for a specific topic or a class (examples: History 101 or Introduction to Programming) and add links to resources such as documentation, tutorials, online videos, or additional courses they have found helpful related to that topic or class.

MVP

See here for capstone proposal.

Feature
Users are able to create a resource library, add sections to that library, and add a resource to that section with full CRUD functionality
User registration (database storage)
User login/logout (database authentication)
Registered users can view another user’s resource library
Registered users can add a resource to another user’s resource library
Registered users can edit or delete resources they’ve added

Stretch Goals

Feature
Private resource libraries
Resource libraries that are shared with only authorized users
Resource libraries can have additional admins that have full CRUD functionality for library sections and resources
Users can upvote resources they’ve found helpful
Users can upvote resources they’ve found helpful
Website is hosted

🎨 Mockups & Diagrams

Diagrams Component Diagram

⚙ Setup/Intstallation

Required software:

  • NodeJs is required to run the project

Download Repo

  • Clone this GitHub repository by running git clone https://github.com/sarakane/capstone.git in the terminal.
    • Or download the ZIP file by clicking on Code then Download ZIP from this repository.

Setup locally

  • Navigate into the new capstone directory
  • Once inside the capstone directory run npm install to install all of the necessary dependencies.

Setup Database

  • Create a Firebase account and setup a Firebase project and Firestore database within that project for this application.
  • Add a .env file to the capstone directory and enter your Firestore information

Example:

REACT_APP_FIREBASE_API_KEY="YOUR_API_KEY"
REACT_APP_FIREBASE_AUTH_DOMAIN="YOUR_AUTH_DOMAIN"
REACT_APP_FIREBASE_DATABASE_URL="YOUR_DATABASE_URL"
REACT_APP_FIREBASE_PROJECT_ID="YOUR_PROJECT_ID"
REACT_APP_FIREBASE_STORAGE_BUCKET="YOUR_STORAGE_BUCKET"
REACT_APP_FIREBASE_MESSAGING_SENDER_ID="YOUR_MESSAGING_SENDER_ID"
REACT_APP_FIREBASE_APP_ID="YOUR_APP_ID"

🏃‍♀️ Available Scripts

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

npm test

Currently there are no tests
Launches the test runner in the interactive watch mode.

npm run build

Builds the app for production to the build folder.

🐛 Known Bugs

No known bugs.

Support

Found a bug or want to add a feature? Open a new issue here.

📓 Work Log

Log of time spent on project not actively coding

2020.09.25

Work Time Spent
Clean up project created by create-react-app 8:29 a.m. -8:39 a.m.
Make README outline 8:39 a.m.-9:14 a.m.
Add proposal to project 9:14 a.m.-9:37 a.m.
Work on website mockup 9:37 a.m.-12:08 p.m.
Continue to work on website mockup 1:08 p.m.-2:06 p.m.
Research potential tools to use for hosting, database, deciding if I need to make an api if I want the possibility of making a mobile version 2:06-3:52
Update README 3:52-4:11
Continue working on wireframe/component diagram 4:11-5:00

2020.10.02

Work Time Spent
8:00 a.m. - 8:30 a.m. Asses today's work
8:30 a.m. - 10:45am Look into tutorials for creating a full stack app with React
10:45 a.m. - 12:00pm Read documentation on GraphQL
1:00 p.m. - 1:30pm Set up firestore database

💻 Technologies Used

Acknowledgments

Image of books on various devices by Gerd Altmann from Pixabay

🔑 License

This site is licensed under the MIT license.

Copyright (c) 2020 Sara Kane