Check it out: App
This app is a simple reddit's client using Angular.
The app will call to AWS Lambda & AWS API Gateway to bypass CORS policy to get actual Reddit's API responses.
This project was generated with Angular CLI version 11.2.13.
- Log in to your Reddit account using Reddit Oauth2
- No promotional post / ads
- You can vote, comment, save posts
- Filter new/rising/hot posts, also filter by flair in subreddit
- Search posts, subreddits
- Infinite scrolling
- Responsive mobile UI
- Change themes
- On mobile: After login on reddit page, you will be redirected to offical reddit mobile app. You will have to go back to the app and click sign in again. However, it doesn't happen on desktop
- On mobile (maybe android only ?): After you have scrolled long enough, you will experience slightly flickering screen when you scroll up again
- Reddit
morechildren
api is returning comments without a tree structure. So when you load more comments, the app is unable to show correct indentation of those comments - Sometimes, you will encounter duplicated posts
- Implement classic view with virtual scrolling
- Enhance my profile page (Comments tab, Saved posts tab, Manage subreddits subscribtion)
- Enhance UI
- More themes (Color themes look like social media sites)
- Bug fixing
Run npm i
or
docker run -rm -it -v $PWD/:/app -w /app node:latest npm i
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run in docker container
docker run --rm -it -p 4200:4200 -v $PWD/:/app -w /app node:latest npm start
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.