Skip to content

Shahzayb/sidea

Repository files navigation

Sidea

It's an online web project ideas sharing platform.

Features

  • User can create account
  • User can login
  • Allow user to reset password through email
  • User can share full-stack project ideas in details
  • User can assign features to their own ideas
  • User can delete their own ideas
  • User can delete their own features
  • User can update their own ideas
  • User can view newly shared ideas
  • User can view top ideas by a specific time interval
  • User can like ideas
  • User can save ideas
  • User can share ideas
  • User can see other user's ideas, saves and likes
  • User can search users
  • User can search ideas
  • User can update their own profile
  • User can delete their own account
  • User can change their own password

Installing

clone repo & install dependencies

git clone https://github.com/Shahzayb/sidea.git

cd sidea

npm i

environment variables setup

Create .env file in the root folder of project, and provide these env variables.

touch .env

Note: In case of missing env variables, an exception will be thrown

JWT_SECRET Json Web Token Secret (long random string).

SENDGRID_API_KEY, Key acquired by SendGrid.

COMPANY_EMAIL, Type any email address. Users will recieve email from this address.

COMPANY_NAME, Type your company name. Will be used in email.

CLIENT_BASE_URL, Your next.js app's base url.

VERCEL_URL, is provided by Vercel. Just type VERCEL_URL in name section and leave value empty, and click add.

create account in algolia and provide these values

ALGOLIA_APP_ID

ALGOLIA_ADMIN_API_KEY

ALGOLIA_SEARCH_ONLY_API_KEY

CLIENT_PAGE_QUERY_LIMIT, is use to represent page size.

Now, Create .env file in the sidea/prisma folder of project, and provide these env variables.

touch .env

DATABASE_URL, URL of MySQL database server.

Start App

After installing & adding env variables:

  1. Run /db/db.sql script in MySQL database server
  2. Run npm run prisma:generate
  3. graphql/client/**, graphql/server/schema.ts, If you change any of these files, then run npm run types:generate
  4. Run the app in development mode with, npm run dev

Built with

Author

Shahzaib Sarwar - shahzayb

License

GNU General Public License v3.0

Releases

No releases published

Packages

No packages published

Languages