├── frontend
├── src
│ ├── assets
│ │ └── .gitkeep
│ ├── app
│ │ ├── app.component.scss
│ │ ├── dashboard
│ │ │ ├── pages
│ │ │ │ ├── home
│ │ │ │ │ ├── home.component.scss
│ │ │ │ │ ├── home.component.html
│ │ │ │ │ └── home.component.ts
│ │ │ │ ├── explore
│ │ │ │ │ ├── explore.component.scss
│ │ │ │ │ ├── explore.component.html
│ │ │ │ │ └── explore.component.ts
│ │ │ │ ├── tweet
│ │ │ │ │ ├── tweet.component.scss
│ │ │ │ │ ├── tweet.component.html
│ │ │ │ │ └── tweet.component.ts
│ │ │ │ ├── followers
│ │ │ │ │ ├── followers.component.scss
│ │ │ │ │ ├── followers.component.html
│ │ │ │ │ └── followers.component.ts
│ │ │ │ ├── settings
│ │ │ │ │ ├── settings.component.scss
│ │ │ │ │ ├── settings.component.html
│ │ │ │ │ └── settings.component.ts
│ │ │ │ ├── followings
│ │ │ │ │ ├── followings.component.scss
│ │ │ │ │ ├── followings.component.html
│ │ │ │ │ └── followings.component.ts
│ │ │ │ ├── profile
│ │ │ │ │ ├── topics-form
│ │ │ │ │ │ ├── topics-form.component.scss
│ │ │ │ │ │ ├── topics-form.component.html
│ │ │ │ │ │ └── topics-form.component.ts
│ │ │ │ │ ├── likes
│ │ │ │ │ │ ├── likes.component.scss
│ │ │ │ │ │ ├── likes.component.html
│ │ │ │ │ │ └── likes.component.ts
│ │ │ │ │ ├── tweets
│ │ │ │ │ │ ├── tweets.component.scss
│ │ │ │ │ │ ├── tweets.component.html
│ │ │ │ │ │ └── tweets.component.ts
│ │ │ │ │ ├── tweets-and-replies
│ │ │ │ │ │ ├── tweets-and-replies.component.scss
│ │ │ │ │ │ ├── tweets-and-replies.component.html
│ │ │ │ │ │ └── tweets-and-replies.component.ts
│ │ │ │ │ ├── edit-form
│ │ │ │ │ │ ├── edit-form.component.scss
│ │ │ │ │ │ ├── edit-form.component.ts
│ │ │ │ │ │ └── edit-form.component.html
│ │ │ │ │ ├── profile.component.scss
│ │ │ │ │ ├── profile.component.ts
│ │ │ │ │ └── profile.component.html
│ │ │ │ └── notifications
│ │ │ │ │ ├── notifications.component.scss
│ │ │ │ │ ├── notifications.component.html
│ │ │ │ │ └── notifications.component.ts
│ │ │ ├── components
│ │ │ │ ├── follower
│ │ │ │ │ ├── follower.component.scss
│ │ │ │ │ ├── follower.component.ts
│ │ │ │ │ └── follower.component.html
│ │ │ │ ├── tweet-form
│ │ │ │ │ ├── tweet-form.component.scss
│ │ │ │ │ ├── tweet-form.component.html
│ │ │ │ │ └── tweet-form.component.ts
│ │ │ │ ├── spin
│ │ │ │ │ ├── spin.component.scss
│ │ │ │ │ ├── spin.component.html
│ │ │ │ │ └── spin.component.ts
│ │ │ │ ├── notification
│ │ │ │ │ ├── notification.component.scss
│ │ │ │ │ ├── notification.component.html
│ │ │ │ │ └── notification.component.ts
│ │ │ │ ├── tweet
│ │ │ │ │ ├── tweet.component.scss
│ │ │ │ │ ├── tweet.component.ts
│ │ │ │ │ └── tweet.component.html
│ │ │ │ └── base-page
│ │ │ │ │ ├── base-page.component.scss
│ │ │ │ │ ├── base-page.component.ts
│ │ │ │ │ └── base-page.component.html
│ │ │ ├── dashboard-routing.module.ts
│ │ │ ├── models.ts
│ │ │ └── dashboard.module.ts
│ │ ├── app.component.html
│ │ ├── layouts
│ │ │ └── auth
│ │ │ │ ├── auth.component.scss
│ │ │ │ ├── auth.component.ts
│ │ │ │ └── auth.component.html
│ │ ├── pages
│ │ │ ├── register
│ │ │ │ ├── register.component.scss
│ │ │ │ ├── register.component.ts
│ │ │ │ └── register.component.html
│ │ │ └── login
│ │ │ │ ├── login.component.scss
│ │ │ │ ├── login.component.ts
│ │ │ │ └── login.component.html
│ │ ├── services
│ │ │ ├── index.ts
│ │ │ ├── app.service.ts
│ │ │ ├── notification.service.ts
│ │ │ ├── auth.guard.ts
│ │ │ ├── home.guard.ts
│ │ │ ├── tweet.service.ts
│ │ │ ├── auth.service.ts
│ │ │ ├── http.interceptor.ts
│ │ │ ├── api.service.ts
│ │ │ └── user.service.ts
│ │ ├── app.component.ts
│ │ ├── shared
│ │ │ ├── pipes
│ │ │ │ └── first-error.pipe.ts
│ │ │ └── shared.module.ts
│ │ ├── app-routing.module.ts
│ │ ├── app.module.ts
│ │ └── util.ts
│ ├── environments
│ │ ├── environment.prod.ts
│ │ └── environment.ts
│ ├── favicon.ico
│ ├── index.html
│ ├── theme.less
│ ├── main.ts
│ ├── test.ts
│ ├── polyfills.ts
│ └── styles.scss
├── .editorconfig
├── tsconfig.app.json
├── tsconfig.spec.json
├── .browserslistrc
├── .gitignore
├── README.md
├── package.json
├── tsconfig.json
├── karma.conf.js
└── angular.json
├── database.sqlite
├── public
├── cover.jpg
├── avatar.jpg
├── screenshot1.png
├── screenshot2.png
└── index.html
├── tests
├── avatar.jpg
├── cover.jpg
├── tsconfig.json
├── .nycrc.json
├── App
│ └── Controllers
│ │ ├── AuthControllerTest.ts
│ │ ├── HomeControllerTest.ts
│ │ ├── TweetControllerTest.ts
│ │ └── UserControllerTest.ts
└── TestCase.ts
├── Models
├── Media.ts
├── Topic.ts
├── Like.ts
├── Notification.ts
├── User.ts
└── Tweet.ts
├── .env.example
├── app.ts
├── Forms
├── TopicsForm.ts
├── LoginForm.ts
├── TweetForm.ts
├── UserForm.ts
└── RegisterForm.ts
├── Services
└── AppErrorHandler.ts
├── index.ts
├── .mocharc.json
├── .gitignore
├── config
├── auth.ts
├── app.ts
└── database.ts
├── Controllers
└── Http
│ ├── TopicsController.ts
│ ├── NotificationsController.ts
│ ├── AuthController.ts
│ ├── HomeController.ts
│ ├── UsersController.ts
│ └── TweetsController.ts
├── Providers
├── AppProvider.ts
└── RoutingProvider.ts
├── Entities
├── Media.ts
├── Like.ts
├── Hashtag.ts
├── Topic.ts
├── Notification.ts
├── Tweet.ts
└── User.ts
├── Validators
└── IsUsername.ts
├── Readme.md
├── tsconfig.json
├── LICENSE.md
├── package.json
└── tslint.json
/frontend/src/assets/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/src/app/app.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/src/app/dashboard/pages/home/home.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/src/app/dashboard/pages/explore/explore.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/src/app/dashboard/pages/tweet/tweet.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/src/app/dashboard/pages/followers/followers.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/src/app/dashboard/pages/settings/settings.component.scss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/frontend/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
In progress
2 | -------------------------------------------------------------------------------- /database.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/typetron/example-twitter-clone/HEAD/database.sqlite -------------------------------------------------------------------------------- /frontend/src/app/layouts/auth/auth.component.scss: -------------------------------------------------------------------------------- 1 | .auth-container { 2 | height: 70%; 3 | } 4 | -------------------------------------------------------------------------------- /public/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/typetron/example-twitter-clone/HEAD/public/cover.jpg -------------------------------------------------------------------------------- /tests/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/typetron/example-twitter-clone/HEAD/tests/avatar.jpg -------------------------------------------------------------------------------- /tests/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/typetron/example-twitter-clone/HEAD/tests/cover.jpg -------------------------------------------------------------------------------- /public/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/typetron/example-twitter-clone/HEAD/public/avatar.jpg -------------------------------------------------------------------------------- /frontend/src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /public/screenshot1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/typetron/example-twitter-clone/HEAD/public/screenshot1.png -------------------------------------------------------------------------------- /public/screenshot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/typetron/example-twitter-clone/HEAD/public/screenshot2.png -------------------------------------------------------------------------------- /frontend/src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/typetron/example-twitter-clone/HEAD/frontend/src/favicon.ico -------------------------------------------------------------------------------- /tests/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "include": [ 4 | "./**/*.ts" 5 | ] 6 | } 7 | 8 | -------------------------------------------------------------------------------- /frontend/src/app/dashboard/pages/profile/likes/likes.component.scss: -------------------------------------------------------------------------------- 1 | app-tweet { 2 | border-top: 24px solid #f0f2f5; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/app/dashboard/pages/profile/tweets/tweets.component.scss: -------------------------------------------------------------------------------- 1 | app-tweet { 2 | border-top: 24px solid #f0f2f5; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/app/dashboard/pages/notifications/notifications.component.scss: -------------------------------------------------------------------------------- 1 | app-notification { 2 | box-shadow: 0 0 10px #0000001a; 3 | } 4 | -------------------------------------------------------------------------------- /Models/Media.ts: -------------------------------------------------------------------------------- 1 | import { Field, Model } from '@Typetron/Models' 2 | 3 | export class Media extends Model { 4 | @Field() 5 | path: string 6 | } 7 | -------------------------------------------------------------------------------- /frontend/src/app/dashboard/pages/profile/tweets-and-replies/tweets-and-replies.component.scss: -------------------------------------------------------------------------------- 1 | app-tweet { 2 | border-top: 24px solid #f0f2f5; 3 | } 4 | -------------------------------------------------------------------------------- /frontend/src/app/dashboard/components/tweet-form/tweet-form.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: block; 3 | 4 | textarea { 5 | font-size: 110%; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /frontend/src/app/dashboard/components/spin/spin.component.scss: -------------------------------------------------------------------------------- 1 | :host { 2 | display: flex; 3 | justify-content: center; 4 | 5 | [nz-icon] { 6 | font-size: 30px; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /frontend/src/app/dashboard/pages/explore/explore.component.html: -------------------------------------------------------------------------------- 1 |17 | {{tweet.content}} 18 |
19 |