It's an online web project ideas sharing platform.
- 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
git clone https://github.com/Shahzayb/sidea.git
cd sidea
npm i
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.
After installing & adding env
variables:
- Run
/db/db.sql
script in MySQL database server - Run
npm run prisma:generate
graphql/client/**
,graphql/server/schema.ts
, If you change any of these files, then runnpm run types:generate
- Run the app in development mode with,
npm run dev
- Next.js
- Apollo Client
- Apollo Server
- Prisma.io
- SendGrid
- Material-UI
- Algolia Search
- React Quill
- Typescript
- GraphQL Code Generator
- AWS RDS MySQL Hosting
- Vercel Hosting Platform
- MySQL 8.x Server
- MySQL Docker (Optional)
Shahzaib Sarwar - shahzayb