https://github.com/ecomfe/san-realworld-app
An exemplary real-world application built with San. This is a good example to discover San for beginners.
https://github.com/ecomfe/san-realworld-app
Last synced: 11 months ago
JSON representation
An exemplary real-world application built with San. This is a good example to discover San for beginners.
- Host: GitHub
- URL: https://github.com/ecomfe/san-realworld-app
- Owner: ecomfe
- Created: 2019-05-20T10:50:35.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-03T22:59:18.000Z (over 3 years ago)
- Last Synced: 2025-05-25T08:05:21.981Z (about 1 year ago)
- Language: JavaScript
- Size: 2.41 MB
- Stars: 16
- Watchers: 11
- Forks: 9
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 
[](http://realworld.io)
[](https://travis-ci.com/ecomfe/san-realworld-app)
> ### San codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the [RealWorld](https://github.com/gothinkster/realworld) spec and API.
### [Demo](https://ecomfe.github.io/san-realworld-app/) [RealWorld](https://github.com/gothinkster/realworld)
This codebase was created to demonstrate a fully fledged fullstack application built with **San** including CRUD operations, authentication, routing, pagination, and more.
We've gone to great lengths to adhere to the **San** community styleguides & best practices.
For more information on how to this works with other frontends/backends, head over to the [RealWorld](https://github.com/gothinkster/realworld) repo.
# Getting started
You can view a live demo over at https://ecomfe.github.io/san-realworld-app/
To get the frontend running locally:
- Clone this repo
- `npm install` to install all req'd dependencies
- `npm start` to start the local server
Before contributing please read the following:
1. [RealWorld guidelines](https://github.com/gothinkster/realworld/tree/master/spec) for implementing a new framework,
2. [RealWorld frontend instructions](https://github.com/gothinkster/realworld-starter-kit/blob/master/FRONTEND_INSTRUCTIONS.md)
3. [Realworld API endpoints](https://github.com/gothinkster/realworld/tree/master/api)
Building the project:
```bash
npm run build
```
## Functionality overview
The example application is a social blogging site (i.e. a Medium.com clone) called "Conduit". It uses a custom API for all requests, including authentication. You can view a live demo over at https://ecomfe.github.io/san-realworld-app/
**General functionality:**
- Authenticate users via JWT (login/signup pages + logout button on settings page)
- CRU* users (sign up & settings page - no deleting required)
- CRUD Articles
- CR*D Comments on articles (no updating required)
- GET and display paginated lists of articles
- Favorite articles
- Follow other users
**The general page breakdown looks like this:**
- Home page (URL: /#/ )
- List of tags
- List of articles pulled from either Feed, Global, or by Tag
- Pagination for list of articles
- Sign in/Sign up pages (URL: /#/login, /#/register )
- Uses JWT (store the token in localStorage)
- Authentication can be easily switched to session/cookie based
- Settings page (URL: /#/settings )
- Editor page to create/edit articles (URL: /#/editor, /#/editor/article-slug-here )
- Article page (URL: /#/article/article-slug-here )
- Delete article button (only shown to article's author)
- Render markdown from server client side
- Comments section at bottom of page
- Delete comment button (only shown to comment's author)
- Profile page (URL: /#/profile/:username, /#/profile/:username/favorites )
- Show basic user info
- List of articles populated from author's created articles or author's favorited articles