This a Twitter clone, KeepCoding-Glovo Women in Tech final project
- MVP
- Project created with MEVN tech stack (MongoDB, ExpressJS, Vue 3, NodeJS) + Typescript
- Twitter clone for desktop devices
for anonymous users / logged out users
- User registration: As an anonymous user from the public area, I want to be able to register in the system in order to authenticate myself and be able to perform functions as a member of the platform indicating my username, e-mail address and access password.
- Password recovery: As an anonymous user I want to be able to recover my password in case I forget it so that I can log in again in the private area.
- User login: As an anonymous user I want to be able to login to the platform to access the private area and thus be able to access all its functionalities.
- View public list of latest publications: As an anonymous user I want to be able to access a list of latest publications by the members of the platform when accessing the main page of the domain in order to access the latest content quickly.
- Search (and find) publications: As an anonymous user I want to be able to search for posts using a search engine in order to quickly find posts that deal with what I am interested in at a given time.
- View a member's posts: As an anonymous user I want to be able to access a list of the latest posts of a specific member of the platform when I access their profile url.
- View older or more recent posts: As an anonymous user I want to access older or more recent posts from the different post listings (main, search results and member's posts) so I can browse through all the posts in the listing I am using.
for authorised, registered users
- User deactivation: As a member of the platform, I want to be able to log out of my account from the private area to stop being a member of the platform.
- User logout: As a member of the platform, I want to be able to log out of my platform to prevent an unauthorized user from using my account from a computer without my authorization.
- Create a publication: As a member of the platform I want to be able to create through an easy to use form where I can fill in all the fields that make up a publication.
- Follow a platform member: As a member of the platform I want to follow other members of the platform so that I can customize the contents that appear in the personalized list of latest publications.
- Stop following a platform member: As a member of the platform I want to stop following members of the platform that I am following in order to stop displaying their content in the customized list of latest posts.
- View customized list of latest posts: As a platform member I want the list of latest posts to consist of content published only by the users I am following.
- Award Kudos to the author of a publication: As a member of the platform I want to be able to reward the author of a publication by awarding "a kudos" to his/her publication.
- Remove Kudos to the author of a publication: As a member of the platform I want to be able to remove the kudos I had previously awarded to a publication.
** Please ensure you are also setup on the backend for this project**
- git clone the repository, then:
npm install
npm run serve
This will start a development server on http://localhost:8080. The application will automatically reload if you make changes to the code.
npm run build
In order to use the website, you need to sign up and create a user. You'll then be directed to the login page. Once logged in, you'll have access to:
- Your private feed with:
- The ability to follow / unfollow a user
- The ability to give kudos on fleets
- The ability to create and delete your own fleets
- The ability to log out or deactivate your account