To run the project, use: npm start
A live demo could be seen here:
http://post2.eu-4.evennode.com/The client-side entrance file is located at : src/index.js
The server-side entrance file is located at: /src/server/app.js
In order to run it locally, you must change the mongoDB settings on the file above.
Here is a general explanation:
Features:
- Auth
- Register
- Log in
- Log out
- Profile
- View own profile
- Post
- Users can add posts
- Users can comment on their own or other people's posts
- All Posts (posts from all users)
- Listing
- Search (in title and description)
- Each post in the list must have:
- title
- description
- link to go single post view
- all comments count
- Single Post View
- Users can view post details where all comments will be listed (No need for nested comments, one level comments are just fine)
- Viewer can add comment to post in this page.
- Manage own posts - CRUD (no need comments here, just basic fields)
- List
- View
- Create
- Edit
- Delete
Main Models and Basic Fields
- User
- firstName
- lastName
- password
- created
- modified
- Post
- title
- description
- created
- modified
- Comment
- text
- created
- modified
Technologies
Backend:
- express
- express-graphql
- mongodb (mongoose)
- graphql.js
- jwt (for authorization)
Frontend:
- React
- React Router
- Apollo Client
- Styled Components