Keep your ideas under control.
- Introduction
- Demo
- Features
- Usage Example
- Quick Guide
- Getting Started
- Built With
- Release History
- Road-map
- Contributing
- Authors
- License
Syder Ideas is a web application where you can store your side-project ideas in an easy, intuitive and systems based way. It is powered by React and Node.
Here is a working live demo:
- User authentication.
- Store your ideas.
- Store features for your ideas.
To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:
- Clone this repository
git clone https://github.com/guidosantillan01/syder-ideas
- Go into the SERVER folder
cd syder-ideas/server
- Install dependencies
npm install
- Run the server, you will then be able to access it at
localhost:5000
npm run server
- Open another code editor instance
- Go into the CLIENT folder
cd syder-ideas/client
- Install dependencies
npm install
- Run the app, you will then be able to access it at
localhost:3000
npm run client
Note: If you're using Linux Bash for Windows, see this guide or use
node
from the command prompt.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them
- You will need a PostgreSQL server. pgAdmin4 is recommended to interact with the server.
- Create a database with these queries.
- Create a test database.
- Create a production database.
You need to have a Heroku account.
Create a server project, setup DATABASE_URL
config var
Create a client project, setup REACT_APP_ENDPOINT
config var
To deploy the SERVER to Heroku:
- Push all changes to Github
- Go to root folder
- Check remote repos
git remote -v
- Deploy to Heroku
git subtree push --prefix server heroku-server master
To deploy the CLIENT to Heroku
- Repeat the same steps
- Deploy to Heroku
git subtree push --prefix client heroku-client master
This project uses a number of open source projects to work properly:
- ReactJS - A JavaScript library for building user interfaces.
- React-Router - Declarative Routing for React.js.
- Redux - A predictable state container for JavaScript apps.
- node.js - Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
- Express - Fast, unopinionated, minimalist web framework for Node.js
- PostgreSQL - Open Source relational database
- ESLint - The pluggable linting utility for JavaScript and JSX.
- Prettier - An opinionated code formatter.
- Passport - Passport is authentication middleware for Node.js
- node-postgres - A collection of node.js modules for interfacing with your PostgreSQL database.
- bcrypt - A library to help you hash passwords.
- Bulma - Open source CSS framework based on Flexbox
2019/05/28 - v1
2019/01/29 - Styling
2019/01/24 - Basic functioning
- Implement other fields in React:
- Competitors and Inspiration.
- Strategies.
- Business Model.
- Planning.
- Resources.
- Implement client testing.
- Define error boundaries using
componentDidCatch()
. - Improve redux async fetch functions. Examples from Andrew Node Course:
- REQUEST_ROBOTS_PENDING
- REQUEST_ROBOTS_SUCCESS
- REQUEST_ROBOTS_FAILED
- Deploy and test front-end.
- Fix Nav bar in mobile screen.
- Implement API routing for new client features (Strategies, Inspiration, etc.)
- Refactor API functions using async-await.
- Handling Express errors.
- Deploy and test back-end.
If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.
- Guido Santillan Arias - [email protected] - www.guidosantillan.com
See also the list of contributors who participated in this project.
This project is licensed under the MIT license - see the LICENSE file for details.